我需要订阅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)
我不知道如何在观看请求中修复未经授权的,因为客户端已授权(我无法加载日历信息)。
答案 0 :(得分:1)
您可能希望尝试通过发送http请求来验证它是否只是OAuth令牌问题。接下来验证您是否已完成所有必要步骤以发出观看请求。这样可以缩小您遇到问题的可能原因。
另外,请检查文档中是否声明"只有在您的网络服务器上安装了有效的SSL证书时,Google Calendar API才能向此HTTPS地址发送通知。"