【问题标题】:unable to get push notifications, unauthorized webhook call back error 401无法获取推送通知,未经授权的 webhook 回调错误 401
【发布时间】:2017-06-06 06:46:10
【问题描述】:

无法建立观看频道。收到未经授权的推送通知错误 401。已完成 web_hook 所需的所有设置。在域验证选项卡中添加了域。在这里呆了几个星期。请帮帮我。谢谢。

【问题讨论】:

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


    【解决方案1】:

    首先,您应该有一个 ssl 证书,因为推送通知仅适用于 https:// 您可以在此处阅读所有有关要求的信息 https://developers.google.com/google-apps/calendar/v3/push

    但是上面链接中缺少的东西是你应该在回调 url 上设置身份验证令牌(类似于你在调用谷歌 API 之前设置的那样)并且不要忘记从数据库中获取访问令牌(假设您在身份验证时已将其存储)因为系统不会从回调 url 上的会话中读取它。

    【讨论】:

    • 感谢您的回答。我在链接中得到了我想要的。但是如何处理回调。我是否需要使用 jetty,它是用于获取 code 的类似处理回调,它再次用于在 Quickstart.java 中获取 tokenresponse?
    • no jetty 不是必需的,必须在回调 url 上设置令牌。如果您在 php 中执行 i,它将由函数 "$client->setAccessToken($access_token);" 完成
    • 我正在使用 java。然后我们将使用什么来了解谷歌服务器在推送通知回调 url 上做了 POST。
    • 只需在回调 URL 上设置令牌,读取通知标头,然后将所有数据写入文件中.. 发送通知时,文件将被更新..
    • 感谢您的回复。但是如何监听传入的消息以读取通知标头?
    【解决方案2】:

    您需要将此值添加到请求的标头中:

    • “授权:承载用户令牌”

    您可以通过 GET Google_Http_Request 到 https://www.googleapis.com/oauth2/v3/token 获取用户令牌

    获取 Google 令牌的 PHP 示例:

    使用Google APIs PHP Client library

    $TokenRequest = new Google_Http_Request(
        "https://www.googleapis.com/oauth2/v3/token", 
        "GET"
    );
    $Token = $Client->getAuth()->authenticatedRequest($TokenRequest);
    

    【讨论】:

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