0

我实现了一个实用程序来使用 Google 日历 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。

有什么建议吗?

4

1 回答 1

0

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

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

于 2013-05-21T15:16:42.790 回答