尝试注册Google云端硬盘webhook时出现“必需参数:pageToken”错误

时间:2016-12-15 19:31:32

标签: post google-api google-drive-api webhooks http-status-code-400

按照指南Establish a link between two lists in linq to entities where clause,我正在尝试设置Google云端硬盘“推送通知”(webhooks),以便我可以观察所有文件更改。我需要向-f发送一次性POST请求,以便最初“注册”webhook。但我似乎无法成功地做到这一点;使用https://www.googleapis.com/drive/v3/changes/watch我收到curl回复。

这是我通过400 Bad Request发送的HTTP请求:

curl

回应:

curl 'https://www.googleapis.com/drive/v3/changes/watch' \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access_token' \
--data-binary '{"id": "webhook", "type": "web_hook", "address": "https://example.com/webhooks", "token": "example"}' \
-vvvv

{ "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Required parameter: pageToken", "locationType": "parameter", "location": "pageToken" } ], "code": 400, "message": "Required parameter: pageToken" } } 是什么?我从哪里得到它?另外,如何将其包含在请求中(例如作为标题)?指南中没有提到它。

1 个答案:

答案 0 :(得分:3)

直接来自文档

  

Changes: watch订阅用户的更改   必需的查询参数
  pageToken string

用于在下一页继续上一个列表请求的令牌。应将此值设置为上一个响应中的“nextPageToken”值或getStartPageToken方法的响应值。

如果这是第一个请求,那么在页面令牌成为响应的一部分后,您需要使用getStartPageToken方法获取第一个令牌。