【问题标题】:Google calendar push notification : Unauthorized webhook call谷歌日历推送通知:未经授权的 webhook 调用
【发布时间】: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"
  }
}

这里有谁能帮我们解决这个问题吗?

【问题讨论】:

    标签: node.js google-api webhooks google-calendar-api


    【解决方案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@ 工作。

      【讨论】:

        猜你喜欢
        • 2016-04-13
        • 1970-01-01
        • 2014-07-18
        • 2021-04-15
        • 2018-03-06
        • 1970-01-01
        • 2014-11-02
        • 2017-06-06
        • 1970-01-01
        相关资源
        最近更新 更多