Google Calendar Api का उपयोग करना।एंड्रॉइड कैलेंडर एपीआई आवर्ती घटना
rfc2445 ब्राउज़ करने के बाद, मैं अभी भी किसी ईवेंट पर पुनरावृत्ति सेट करने में असमर्थ हूं।
private String[] days = {"SU", "MO", "TU", "WE", "TH", "FR", "SA"};
private String rrule = "RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=";
private Event createdEvent;
...
Event event = new Event();
StringBuilder sb = new StringBuilder();
sb.append(rrule);
sb.append(days[startTime.get(java.util.Calendar.DAY_OF_WEEK)-1]);
event.setSummary("HELLO WORLD");
event.setLocation("");
DateTime start = new DateTime(startTime.getTime(), TimeZone.getTimeZone("UTC"));
event.setStart(new EventDateTime().setDateTime(start));
DateTime end = new DateTime(endTime.getTime(), TimeZone.getTimeZone("UTC"));
event.setEnd(new EventDateTime().setDateTime(end));
//Setting Recurrence
ArrayList<String> recur = new ArrayList<String>();
recur.add(sb.toString());
event.setRecurrence(recur);
createdEvent = cal.events().insert("primary", event).execute(); //line 167
ऊपर कोड चलाने के बाद, मैं यह त्रुटि प्राप्त करते रहने (एनबी: सब कुछ काम करता है अगर मैं पुनरावृत्ति को निर्दिष्ट छोड़ देते हैं, हालांकि स्पष्ट रूप से इस घटना के एकल होने वाली है):
01-13 19:26:17.190: WARN/System.err(5732): com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
01-13 19:26:17.190: WARN/System.err(5732): {
01-13 19:26:17.190: WARN/System.err(5732): "code" : 400,
01-13 19:26:17.190: WARN/System.err(5732): "errors" : [ {
01-13 19:26:17.190: WARN/System.err(5732): "domain" : "global",
01-13 19:26:17.190: WARN/System.err(5732): "message" : "Required",
01-13 19:26:17.190: WARN/System.err(5732): "reason" : "required"
01-13 19:26:17.190: WARN/System.err(5732): } ],
01-13 19:26:17.190: WARN/System.err(5732): "message" : "Required"
01-13 19:26:17.190: WARN/System.err(5732): }
01-13 19:26:17.190: WARN/System.err(5732): at com.google.api.client.googleapis.services.GoogleClient.execute(GoogleClient.java:123)
01-13 19:26:17.190: WARN/System.err(5732): at com.google.api.client.http.json.JsonHttpRequest.executeUnparsed(JsonHttpRequest.java:67)
01-13 19:26:17.190: WARN/System.err(5732): at com.google.api.services.calendar.Calendar$Events$Insert.execute(Calendar.java:2308)
01-13 19:26:17.190: WARN/System.err(5732): at com.example.myproject.className.run(className.java:167)
01-13 19:26:17.190: WARN/System.err(5732): at java.lang.Thread.run(Thread.java:1020)
मैं मैन्युअल कैलेंडर में एक पुनरावर्ती घटना बनाई, और इसे पढ़ने के लिए एक सरल विधि बनाई। event.getRecurrence
प्रदर्शन करते समय। पुनरावृत्ति "RRULE:FREQ=WEEKLY;WKST=MO;BYDAY=MO"
थी, जिसने सटीक रूप से कहा था कि मैंने जो घटना बनाई थी वह सोमवार को साप्ताहिक आवर्ती है।
क्या कोई यह बता सकता है कि मैं गलत कहां जा रहा हूं?
संपादित करें:
Google's Api Explorer का उपयोग करना, मैं मैन्युअल रूप से JSON पुनरावृत्ति क्षेत्र के साथ बनाया गया है और यह काम किया।
event
से JSON को बनाए जाने के बाद, ऐसा लगता है कि टाइमज़ोन पारित नहीं किया जा रहा है।
{end={dateTime=2012-01-16T09:50:00.000Z}, location=, recurrence=[RRULE:FREQ=WEEKLY;], start={dateTime=2012-01-16T09:00:00.000Z}, summary=HELLO WORLD}
साथ ही, प्रदर्शन event.getStart().getTimeZone().toString()
वजह से java.lang.NullPointerException
।
सुनिश्चित नहीं हैं कि वे क्यों पारित नहीं किया जा रहा है ...
यही था। धन्यवाद! –