1. 先到 google code 上下載了 api 的 lib,當然是 java client,還有好多,比如 .net , php 什么的,沒看。
2. 去看 google data api 的 getting start,但是,那個 ant 命令執行完,會出一些 captcha 的錯誤,沒細看,估計是需要驗證碼了,api 沒跟上。
3. 直接到 calendar 里面,把 CalendarFeedDemo執行了一下,注意,需要輸入用戶名和密碼,用戶名是 aaa@gmail.com 這樣的,但發現這個不是我要的,我要的只是增加個 event 而已。
4. 執行 EventFeedDemo,jump這個才是我要的,簡化了一下,只要能增加一個定時的 event,并有提醒,就夠了。
代碼在下面,連包名都沒改:
1
2 package sample.calendar;
3
4 import java.io.IOException;
5 import java.net.URL;
6 import java.util.Calendar;
7 import java.util.GregorianCalendar;
8 import java.util.TimeZone;
9
10 import com.google.gdata.client.calendar.CalendarService;
11 import com.google.gdata.data.DateTime;
12 import com.google.gdata.data.PlainTextConstruct;
13 import com.google.gdata.data.calendar.CalendarEventEntry;
14 import com.google.gdata.data.extensions.Reminder;
15 import com.google.gdata.data.extensions.When;
16 import com.google.gdata.data.extensions.Reminder.Method;
17 import com.google.gdata.util.ServiceException;
18
19 public class HahaCalendar {
20 private static URL eventFeedUrl;
21 private static final String METAFEED_URL_BASE = "http://www.google.com/calendar/feeds/";
22 private static final String EVENT_FEED_URL_SUFFIX = "/private/full";
23
24 public static void main(String[] args) throws ServiceException, IOException {
25 String username = "username@gmail.com";
26 eventFeedUrl = new URL(METAFEED_URL_BASE + username + EVENT_FEED_URL_SUFFIX);
27 CalendarService myService = new CalendarService("haha calendar");
28 myService.setUserCredentials(username, "password");
29 CalendarEventEntry singleEvent = createSingleEvent(myService, "每天背單詞", "單詞1,單詞2");
30 System.out.println("Successfully created event " + singleEvent.getTitle().getPlainText());
31 }
32
33 private static CalendarEventEntry createSingleEvent(CalendarService service, String eventTitle, String eventContent)
34 throws ServiceException, IOException {
35 CalendarEventEntry entry = new CalendarEventEntry();
36 entry.setTitle(new PlainTextConstruct(eventTitle));
37 entry.setContent(new PlainTextConstruct(eventContent));
38 Calendar calendar = new GregorianCalendar();
39 calendar.add(Calendar.MINUTE, 10);
40 DateTime startTime = new DateTime(calendar.getTime(), TimeZone.getDefault());
41 calendar.add(Calendar.MINUTE, 60);
42 DateTime endTime = new DateTime(calendar.getTime(), TimeZone.getDefault());
43 When eventTimes = new When();
44 eventTimes.setStartTime(startTime);
45 eventTimes.setEndTime(endTime);
46 entry.addTime(eventTimes);
47 addReminder(entry);
48 return service.insert(eventFeedUrl, entry);
49 }
50
51 private static void addReminder(CalendarEventEntry myEntry) {
52 Reminder reminder = new Reminder();
53 reminder.setMinutes(5);
54 reminder.setMethod(Method.SMS);
55 myEntry.getReminder().add(reminder);
56 }
57 }
58
想用的注意,把上面的用戶名和密碼改成自己的。
posted on 2009-07-19 13:04
哈哈的日子 閱讀(2302)
評論(4) 編輯 收藏 所屬分類:
Java