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
哈哈的日子 阅读(2291)
评论(4) 编辑 收藏 所属分类:
Java