Google Calendar API服务器端访问权限

时间:2013-05-21 12:29:05

标签: java events google-calendar-api

我实现了一个实用程序,可以使用Google Calendar API和服务器端身份验证流程执行后台操作,而无需用户界面。 现在,我想从私人日历中读取事件,而不使用具有离线访问权限的授权流程或将日历公开。

我正在使用此代码进行身份验证:

GoogleCredential credential = new GoogleCredential.Builder()
            .setTransport(SchedulerCalendar.HTTP_TRANSPORT)
            .setJsonFactory(SchedulerCalendar.JSON_FACTORY)
            .setServiceAccountId(SchedulerCalendar.SERVICE_ACCOUNT_EMAIL)
            .setServiceAccountScopes(SchedulerCalendar.SCOPES)
            .setServiceAccountPrivateKeyFromP12File(new File("key.p12")).build();

以下是阅读日历事件:

List eventslist = calendar.events().list(calendarid);

未找到日历的回复为404。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我解决了将日历分享到*@developer.gserviceaccount.com的问题, 我将http://www.google.com/calendar/feeds/添加到了请求的范围内。

我使用的日历也来自谷歌应用用户,因此我还添加了我的帐户* .apps.googleusercontent.com - > http://www.google.com/calendar/feeds/从谷歌应用控制面板管理API客户端访问。