我实现了一个实用程序,可以使用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。
有什么建议吗?
答案 0 :(得分:0)
我解决了将日历分享到*@developer.gserviceaccount.com的问题, 我将http://www.google.com/calendar/feeds/添加到了请求的范围内。
我使用的日历也来自谷歌应用用户,因此我还添加了我的帐户* .apps.googleusercontent.com - > http://www.google.com/calendar/feeds/从谷歌应用控制面板管理API客户端访问。