推送通知 – 设置webhook会导致“未经授权的WebHook回调通道”.一切都应该没问题

是时候去SE了,因为现在花了我4个多小时.

我正在尝试为来自Google Drive API的推送通知设置webhook(https://app.example.com/notications).

设置完所有内容后,我收到错误:

    ...
    errors": [
        {
            "domain": "global",
            "reason": "push.webhookUrlUnauthorized",
            "message": "Unauthorized WebHook callback channel: https://app.example.com"
        }
    ],
    ...

谷歌上有一些结果(其中大部分都在SE上)讨论这个问题.所提出的解决方案似乎都不适合我.毋庸置疑,如果我有一些东西,我会把我的头发撕掉.

这是我尝试过的:

正如here所述,有一些要求:

>步骤1:验证您是否拥有该域. (使用网站站长工具完成网站验证流程)

通过网站站长工具注册了app.example.com.另外还验证了example.com虽然这无关紧要.校验!
>第2步:注册您的域名:

>转到Google Developers Console.
>选择或创建项目.
>在左侧边栏中,点击API&单击验证,然后单击“推送”.
>单击“添加域”.
>填写表单,然后再次单击“添加域”.

完成app.example.com.校验!
>请注意,只有在Web服务器上安装了有效的SSL证书时,Drive API才能向此HTTPS地址发送通知.无效的证书包括:

>自签名证书.
>由不受信任的来源签署的证书.
>已被撤销的证书.
>主题与目标主机名不匹配的证书.

我做了什么:

>我已经使用SSL证书设置了app.example.com.
>此外,端点可以访问,所有内容都可以检出.
> SSL checker已经确认一切正常(5个滴答).甚至SSL链也正确设置.校验!

>构建POST查询

>到简单的https://www.googleapis.com/drive/v2/changes/watch端点
>包含授权:Bearer x标头
>包含Content-Type:application / json标头

帖子包含如下的主体

    {
      "id": "someIdThatDoesntMatter",
      "type":"web_hook",
      "address": "https://app.example.com/notifications"
    }

校验!

我通过Postman(一个Chrome扩展程序来测试http请求)运行所有这些,所以我身边没有可以干扰的应用程序.

究竟是什么问题呢?

最佳答案
第4步的POST正文地址:“https://app.captured.io/notifications”应为“https://app.example.com/notications”.或者相反.无论哪种方式,它们都应该匹配,这样我们才能理解这只是你帖子中的拼写错误还是真正回答你的问题. 🙂

哦;在“https://app.example.com/notications”中,“通知”拼写错误.它应该是:“https://app.example.com/notifications”. …或者相反,如果这是你的事:)

根据他们的文档,它也值得注意:

A watch request will not be successful unless the current user or service account owns or has permission to access this resource.

转载注明原文:推送通知 – 设置webhook会导致“未经授权的WebHook回调通道”.一切都应该没问题 - 代码日志