私はCalendarEntryのオブジェクトを持っています
http://www.google.com/calendar/feeds/example@gmail.com/allcalendars/fullがすべてのカレンダーのフィード URL であることはわかっています
しかし、CalendarEntry インスタンスからこのフィード URL を取得するにはどうすればよいでしょうか?
指定したカレンダーに新しいエントリを投稿したいので、この URL が必要です。
ありがとう!
私はCalendarEntryのオブジェクトを持っています
http://www.google.com/calendar/feeds/example@gmail.com/allcalendars/fullがすべてのカレンダーのフィード URL であることはわかっています
しかし、CalendarEntry インスタンスからこのフィード URL を取得するにはどうすればよいでしょうか?
指定したカレンダーに新しいエントリを投稿したいので、この URL が必要です。
ありがとう!
次のスニペットのように、コードでその URL を指定することをお勧めします。
CalendarService myService = new CalendarService("CalendarService");
myService.setUserCredentials("example@gmail.com", "yourPassword");
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);
System.out.println("Your calendars:");
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
CalendarEntry entry = resultFeed.getEntries().get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
CalendarEntry インスタンスは、指定された URL によって取得されたすべてのカレンダー (プライマリ、セカンダリ、インポートされたカレンダー) を格納します。
私があなたの質問を正しく理解しているなら、あなたはこれをしたいと思います:
public static URL toCalendarFeedURL(CalendarEntry calendarEntry) {
try {
String cal = "https://www.google.com/calendar/feeds" + calendarEntry.getEditLink().getHref().substring(63) + "/private/full";
return new URL(cal);
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
悪魔のように紛らわしいカレンダーAPIでGoogleを呪う。