【问题标题】:Google Calendar V3 API Push notification via java client通过 Java 客户端的 Google Calendar V3 API 推送通知
【发布时间】:2017-07-25 10:35:27
【问题描述】:

我需要订阅 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 # {"address":"https://myPersonalVerifiedByGoogleAddr/google/calendars/","id":"4ac3e9e3-8428-405e-a8ed-6cf0e4fa25ff","payload":false,"type":"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 request 来测试它,以验证它是否只是 OAuth 令牌问题。接下来是验证您是否已完成make a watch request 的所有必需步骤。这将缩小您遇到问题的可能原因。
  • @Mr.Rebot "reason": "push.webhookUrlUnauthorized"。我已经在论坛中检查过这个问题,但答案对我没有帮助。 (我的应用程序已注册并验证,我只注册了domain name,尝试推送通知我使用addressdomainName/google/calendars/)。我的网络中没有 ssl 证书(只有 google 验证文件来确认我的域)...
  • @Mr.Rebot,我必须在我的网络中使用 SSL(如果我想集成 google)吗?
  • 我使用ngrok proxy。我希望它能解决 SSL 问题。
  • 我认为是这样,在文档中它声明“只有在您的网络服务器上安装了有效的 SSL 证书时,Google 日历 API 才能向此 HTTPS 地址发送通知。”跨度>

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


【解决方案1】:

您可能想尝试通过发送 http 请求来测试它是否只是 OAuth 令牌问题。接下来是验证您是否已完成发出监视请求所需的所有步骤。这将缩小您遇到问题的可能原因。

还要检查文档中是否声明“只有在您的网络服务器上安装了有效的 SSL 证书时,Google 日历 API 才能向此 HTTPS 地址发送通知。”

【讨论】:

  • 我在这方面还有一个问题,你能check it吗?
猜你喜欢
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
相关资源
最近更新 更多