我想使用Google Calendar API来拉取日历,事件等。我有android中的AccountManager类中的认证令牌。因此,如果用户使用他的谷歌账户登录移动设备,那么我可以轻松地检索与他相关的身份验证令牌。 后thati做到以下几点:使用Google Calendar API访问用户的日历列表时出现NullPointerException
public Calendar useCalendarAPI(final String accessToken) {
try{
HttpTransport transport = new NetHttpTransport();
AccessProtectedResource accessProtectedResource = new GoogleAccessProtectedResource(accessToken);
Calendar.Builder builder = Calendar.builder(transport, new JacksonFactory());
builder.setApplicationName("My App Name");
builder.setHttpRequestInitializer(accessProtectedResource);
JsonHttpRequestInitializer json = new JsonHttpRequestInitializer() {
public void initialize(JsonHttpRequest request) {
CalendarRequest calRequest = (CalendarRequest) request;
calRequest.setKey(Common.API_KEY);
calRequest.setOauthToken(accessToken);
}
};
builder.setJsonHttpRequestInitializer(json);
Calendar calendarService= builder.build();
if(calendarService!= null)
{
return calendarService;
}
else
return null;
}catch (Exception e) {
// TODO: handle exception
e.getMessage();
}
在此之后我收到称为“calendarService”日历对象。
public void getCalendarsList()
{
try
{
CalendarList calendarList = calendarService.calendarList().list().execute();
while (true) {
for (CalendarListEntry calendarListEntry : calendarList.getItems()) {
System.out.println(calendarListEntry.getSummary());
}
String pageToken = calendarList.getNextPageToken();
if (pageToken != null && !pageToken.equalsIgnoreCase("")) {
calendarList = calendarService.calendarList().list().setPageToken(pageToken).execute();
} else {
break;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这是从Google Calendar API文档复制的。 检查此链接here
但我在下面一行
CalendarList calendarList = calendarService.calendarList().list().execute();
请建议的东西越来越空指针异常。
感谢
我通过谷歌日历的私人API.Thanks实现日历整合 – Vansi 2012-01-31 07:15:09