通过Java客户端

时间:2017-03-05 16:10:45

标签: java google-calendar-api google-api-java-client

我需要订阅Google Calendar API v3推送通知。我检查了文档 - 它提供了有用的API细节。我检查了java client库。它包含有用的类......

尝试:

com.google.api.services.calendar.Calendar calendar = initObject();
...
calendar.calendarList().get("myMail@ukr.net").execute();

结果我有CalendarListEntry地图和我的日历信息。 尝试使用相同的 calendarClient 对象:

calendar.calendarList().watch(channel).execute();

结果:

17:46:26,540 ERROR # c.n.c.c.g.GoogleCalendarClient.watchCalendarList com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized

我似乎有授权问题。我想我不应该有一个,因为我可以再试一次相同的client对象并返回正确的结果。此外,我已考虑使用optional token字段的情况 - 无需更改。

如果有人需要我的频道对象:     17:58:38,022 INFO#{"地址":" https://myPersonalVerifiedByGoogleAddr/google/calendars/"," id":" 4ac3e9e3-8428-405e- a8ed-6cf0e4fa25ff""有效载荷":假,"类型":" web_hook"}

address - my inet address verified by google
id - generated
payload - false (because of no content in my request)
type - web_hook (following google doc)

我不知道如何在观看请求中修复未经授权的,因为客户端已授权(我无法加载日历信息)。

1 个答案:

答案 0 :(得分:1)

您可能希望尝试通过发送http请求来验证它是否只是OAuth令牌问题。接下来验证您是否已完成所有必要步骤以发出观看请求。这样可以缩小您遇到问题的可能原因。

另外,请检查文档中是否声明"只有在您的网络服务器上安装了有效的SSL证书时,Google Calendar API才能向此HTTPS地址发送通知。"

相关问题