Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Required parameter: pageToken" error when attempting to register Google Drive webhooks

Following the guide here, I'm trying to set up Google Drive "push notifications" (webhooks) so I can watch for all file changes. I need to send a one-off POST request to https://www.googleapis.com/drive/v3/changes/watch to initially "register" the webhook. But I cannot seem to do this successfully; using curl I receive a 400 Bad Request response.

Here's my HTTP request via 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

The response:

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

What is the pageToken and where do I get it? Also, how do I include it in the request (e.g. as a header)? There's nothing mentioned in the guide about it.

like image 995
XåpplI'-I0llwlg'I - Avatar asked Dec 15 '16 19:12

XåpplI'-I0llwlg'I -


1 Answers

Directly from the documentation

Changes: watch Subscribes to changes for a user.
Required query parameters
pageToken string

The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method.

If this is the first request then you will need to use the getStartPageToken method to get the first token then there after the page token will be part of the response.

like image 191
DaImTo Avatar answered Sep 19 '22 02:09

DaImTo