Google Drive API V3 - 推送通知

时间:2018-05-23 07:02:44

标签: google-api google-drive-api

从昨天早上开始,我就一直坚持使用谷歌驱动器API请求。

如此处所述:https://developers.google.com/drive/api/v3/push

我试图订阅发送此请求的通知:

网址:https://www.googleapis.com/drive/v3/changes/watch

Header :
Content-type: application/json
Authorization: Bearer my_auth_token

{
"id":"An ID generated",
"type":"web_hook",
"address":"my callback address",
}

响应是这个机构的代码400:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter: pageToken",
    "locationType": "parameter",
    "location": "pageToken"
   }
  ],
  "code": 400,
  "message": "Required parameter: pageToken"
 }
}

根据此订阅请求,此参数不是必需的,但对于此参数(相同的网址..):https://developers.google.com/drive/api/v3/reference/changes/watch

我是否遗漏/误解了某些内容或文档是否存在问题?

谢谢

2 个答案:

答案 0 :(得分:0)

您可能会感到困惑,查看documentation,如果您要发出观看请求,则应该在此帖子网址 https://www.googleapis.com/apiName/apiVersion/resourcePath/watch 下,而不是 {{1} } 这就是您收到错误的原因"必需参数:pageToken"。

以下是完整的观察请求代码:

https://www.googleapis.com/drive/v3/changes/watch

不要先忘记register your domain。希望这会有所帮助。

答案 1 :(得分:0)

pageToken参数是用于在下一页继续上一个列表请求的标记。这应该设置为' nextPageToken'从上一个响应或getStartPageToken方法的响应,我们看到here

因此,您应将pageToken作为参数传递给您的网址:

网址:https://www.googleapis.com/drive/v3/changes/watch?pageToken=[YOUR_PAGE_TOKEN_NUMBER_HERE]

例如:https://www.googleapis.com/drive/v3/changes/watch?pageToken=101

使用GET https://www.googleapis.com/drive/v3/changes/startPageToken获取列表的起始页面并观察未来的更改可能会很有趣。见here