我需要订阅Google Calendar API v3推送通知。我检查过文档 - 它提供了有用的API细节。我检查了java client
图书馆。它包含有用的类...Google Calendar V3 API通过java客户端推送通知
尝试:
com.google.api.services.calendar.Calendar calendar = initObject();
...
calendar.calendarList().get("[email protected]").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:38022 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)
我没有任何想法如何解决未经授权在收看请求,因为客户端是授权(我将无法加载日历信息)。
您可能想通过发送[http请求](http://stackoverflow.com/q/20517294/5995040)来验证它是否仅仅是一个OAuth令牌问题。接下来要验证您是否完成了[制作观看请求]所需的所有步骤(https://developers.google.com/google-apps/calendar/v3/push#making-watch-requests)。这将缩小您遇到问题的可能原因。 –
@Rebot先生“原因”:“push.webhookUrlUnauthorized”。我在论坛上检查过这个问题,但答案不帮我。 (我的应用程序已注册和验证,我只注册了'域名',尝试推送通知我使用'地址''domainName/google/calendars /')。没有SSL证书在我的网站(只有谷歌验证文件,以确认我的域名)... – Sergii
@ Mr.Rebot,我必须在我的网络中使用SSL(如果我想集成谷歌)? – Sergii