设置谷歌推送通知结果错误401未经授权的WebHook回调通道

时间:2017-09-25 09:14:36

标签: node.js google-app-engine push-notification google-api drive

我正在尝试使用带有推送通知的驱动器API,让我可以查看对文件的更改。

我按照谷歌指南表格。

我的步骤:

第1步:确认您拥有该域 已完成

google search console

第2步:注册您的域 已完成(我尝试使用多个网址)

google domain verification

创建通知渠道

这是我在google应用引擎上部署的webhook的简单节点服务器。

/* jshint node: true */
'use strict';

const key = require('./SBSWideDomainDev.json');
const google = require('googleapis');
const express = require('express');
var path = require("path");
const logging = require('./logging');

const app = express();

app.enable('trust proxy');

app.post('/notification', (req, res, next) => {
    logging.info(res.body);
    res.status(200).json(res.body);
});

if (module === require.main) {
    var test = 8080;
    const server = app.listen(test, () => {
        const port = server.address().port;
        console.log(`App listening on port ${port}`);
    });
}

我在google页面上使用live.watch

的现场演示
fileId : "some FileId",
request body:
{
  "type": "web_hook",
  "address": "https://notif-dot-sullivan-business-solution-dev.appspot.com/notification",
  "id": "e64d0c44-f9a2-4db8-8d21-94ee0904dcb7"
}

回应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "push.webhookUrlUnauthorized",
    "message": "Unauthorized WebHook callback channel: https://notif-dot-sullivan-business-solution-dev.appspot.com/notification"
   }
  ],
  "code": 401,
  "message": "Unauthorized WebHook callback channel: https://notif-dot-sullivan-business-solution-dev.appspot.com/notification"
 }
}

我绝对不知道问题出在哪里,我完全按照谷歌指南。而且我已经有三天了。

(抱歉英语不好)

1 个答案:

答案 0 :(得分:1)

如果我错了,请纠正我 - 但我使用了Goolge Drive API并且能够成功发出请求我必须为我的注册应用程序生成OAuth令牌。你注册了吗?如果没有在这里看到如何验证您的应用程序,谷歌提供了不同的方法https://developers.google.com/drive/v3/web/about-auth

获取令牌后,您应将其作为标题属性添加到您的请求中。

'授权':'持票人'。

另请注意,Google Oauth令牌在他们生成后的1小时内到期,您应该重新生成它。