谷歌日历推送通知:未经授权的 webhook 调用
Posted
技术标签:
【中文标题】谷歌日历推送通知:未经授权的 webhook 调用【英文标题】:Google calendar push notification : Unauthorized webhook call 【发布时间】:2017-07-20 21:08:26 【问题描述】:目前我们正在开发一款处理谷歌日历的 iPhone 应用程序。需要将日历事件同步到服务器端。一切正常。
但是对于推送通知,我们关注this process
每当我们将请求发布到: https://www.googleapis.com/calendar/v3/calendars/email@gmail.com/events/watch
带参数
"id":Unique string ( channel id) ,
"type": "web_hook",
"address": "https://abc-api.herokuapp.com/user/notifications"
在标题中,我们正在发送
Authorization : **Bearer 'Access_token'**
和内容类型:json
我们已经在 google api 控制台中将域添加为授权域
Access_token 是用户的账户访问令牌。
我们收到“未经授权的 webhook 调用”错误。
"error":
"errors": [
"domain": "global",
"reason": "push.webhookUrlUnauthorized",
"message": "Unauthorized WebHook callback channel: https://abc-api.herokuapp.com/user/notifications"
],
"code": 401,
"message": "Unauthorized WebHook callback channel: https://abc-api.herokuapp.com/user/notifications"
这里有谁能帮我们解决这个问题吗?
【问题讨论】:
【参考方案1】:一个潜在的问题是,如果您在文档的 Google 的“试用”部分进行测试。没有说明,但是这个特定的请求在那里不起作用。
否则,您在地址中提供的域需要发生一些事情。首先,您需要确保它在谷歌开发者控制台中的verified 用于您正在使用 api 的应用程序。此外,您需要add the website property to your search console(即使它只是一个 api)并验证所有权。
此外,一旦您解决了未经授权的地址问题,您将收到另一个需要提供 resourceId 的错误。
【讨论】:
【参考方案2】:您可能需要检查此post,提供解决方案,例如验证您的域是否具有有效(非自签名)SSL license。同样在google-api-php-client GitHub,而不是设置https://example.com/google/push
(导致未经授权的WebHook回调通道)或https://www.example.com/google/push
(允许我成功打开通道,并且对象已返回,但未触发webhook)作为他们尝试的地址@ 987654326@ 工作。
【讨论】:
以上是关于谷歌日历推送通知:未经授权的 webhook 调用的主要内容,如果未能解决你的问题,请参考以下文章