设置webhook会导致"未经授权的WebHook回调通道".一切都应该没问题

Gee*_*Jan 5 google-api push-notification google-drive-api

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

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

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

    ...
    errors": [
        {
            "domain": "global",
            "reason": "push.webhookUrlUnauthorized",
            "message": "Unauthorized WebHook callback channel: https://app.example.com"
        }
    ],
    ...
Run Code Online (Sandbox Code Playgroud)

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

这是我尝试过的:

如此处所述,有一些要求:

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

    app.example.com通过网站站长工具注册.另外还证实了example.com这一点并不重要.校验!

  2. 第2步:注册您的域名:

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

    做完了app.example.com.校验!

  3. 请注意,只有在您的Web服务器上安装了有效的SSL证书时,Drive API才能向此HTTPS地址发送通知.无效的证书包括:

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

    我做了什么:

    • 我已经设置app.example.com了SSL证书.
    • 此外,端点可以访问,所有内容都可以检出.
    • SSL检查器已经验证一切正常(5个滴答).甚至SSL链也正确设置. 校验!
  4. 构造POST查询

    • 到简单的https://www.googleapis.com/drive/v2/changes/watch终点
    • 包含Authorization: Bearer x标题
    • 包含Content-Type:application/json标题

帖子包含如下的主体

    {
      "id": "someIdThatDoesntMatter",
      "type":"web_hook",
      "address": "https://app.example.com/notifications"
    }
Run Code Online (Sandbox Code Playgroud)

校验!

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

究竟是什么问题呢?

use*_*070 -4

步骤 4 的 POST 正文地址:“ https://app.captured.io/notifications ”应为“ https://app.example.com/notifications ”。或者反过来。无论哪种方式,它们都应该匹配,以便我们能够了解这是否只是您帖子中的拼写错误或真正是您问题的答案。:)

哦; 在“ https://app.example.com/notications ”中,“notications”拼写错误。它应该是:“ https://app.example.com/notifications ”。...或者反过来,如果那是你的事:)

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

除非当前用户或服务帐户拥有或有权访问此资源,否则监视请求不会成功。