0

我想使用驱动器API与推送通知,让我看我的文件的更改。设置谷歌推送通知结果为错误401未授权WebHook回调通道

我遵循指南表格谷歌。

我的步骤:

第1步:确认您拥有该域

google search console

第2步:注册你的域名完成(我试过有多个URL)

google domain verification

创建通知渠道

这是,我有部署在谷歌应用程序引擎的网络挂接一个简单的节点服务器。

/* 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}`); 
    }); 
} 

我用现场演示了谷歌网页上file.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" 
} 
} 

我绝对不会有一个想法,问题出在哪里,我完全按照谷歌指南。我正在为此工作三天。

(遗憾的英语不好)

回答

0

纠正我,如果我错了 - 但我已经使用Goolge的驱动器API,并能够成功地使要求我必须为我的注册申请的OAuth令牌。你有注册吗?如果在这里没有看到如何验证你的应用程序,谷歌提供了不同的方式来做到这一点https://developers.google.com/drive/v3/web/about-auth

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

'授权':'承载者'。

另外请记住,Google Oauth令牌在其生成后1小时内到期,您应该重新生成它。

+0

我使用drive.file.watch(https://developers.google.com/drive/v3/reference/files/watch)的实时演示自动为请求提供了一个OAuth令牌。 –

相关问题