0

Ich verwende googleapis npm Paket ("apis/Antrieb/v3.js") für Google Drive Service. Am Backend verwende ich NodeJS und ngrok für lokale Tests. Mein Problem ist, dass ich keine Benachrichtigungen erhalten kann. Der folgende Code:drive.changes.watch Sie sendet keine Benachrichtigungen

drive.changes.watch({ 
     pageToken: startPageToken, 
     resource: { 
      id: uuid.v1(), 
      type: 'web_hook', 
      address: 'https://7def94f6.ngrok.io/notifications' 
     } 
    }, function(err, result) { 
     console.log(result) 
    }); 

kehrt einige wie:

{ 
    kind: 'api#channel', 
    id: '8c9d74f0-fe7b-11e5-a764-fd0d7465593e', 
    resourceId: '9amJTbMCYabCkFvn8ssPrtzWvAM', 
    resourceUri: 'https://www.googleapis.com/drive/v3/changes?includeRemoved=true&pageSize=100&pageToken=6051&restrictToMyDrive=false&spaces=drive&alt=json', 
    expiration: '1460227829000' 
} 

Wenn ich versuche, alle Dateien in Google Drive zu ändern, werden die Meldungen nicht kommt. Liebe Colleges, was ist los?

+0

Haben Sie sich mit https://7def94f6.grok.io bei Google registriert und verifiziert? Siehe diese Seite: https://developers.google.com/drive/v3/web/push#overview – jdobry

+0

Ja, ich habe! Aber, wenn ich versuche Parameter hier zu übergeben: https://developers.google.com/drive/v3/reference/changes/watch#try-it Ich habe diesen Fehler: { "Fehler": { "Fehler" [ { "domain": "global", "Grund": "push.webhookUrlUnauthorized", "message": "Unauthorized Webhook Rückrufkanal: https://7def94f6.ngrok.io/notifications" } ], "code": 401, "Nachricht": "Nicht autorisierte WebHook Callback-Kanal: https://7def94f6.grok.io/notifications" } } –

Antwort

0

Dies sollte ein Kommentar sein, aber ich habe nicht genug (50 Punkte) Erfahrung, um einen zu veröffentlichen. Tut mir leid, wenn dies keine echte Antwort ist, könnte aber helfen.

Das habe ich heute gelernt. Ich mache praktisch dasselbe wie du - nur nicht mit Drive, sondern mit Gmail api. Ich sehe, Sie haben diesen Fehler:

"push.webhookUrlUnauthorized", "message": "Unerlaubte Webhook etc ..."

Ich denke, dies, weil eine der zwei Gründen:

  1. Sie haben Ihrem Thema nicht die Drive-api-Publisher-Berechtigungen erteilt.

  2. Zweitens, wenn Sie Benachrichtigungen erhalten möchten, muss die autorisierte WebHooks-URL sowohl auf dem Server (Ihrem Projekt) als auch in Ihrem Pub/Sub-Service (Google Cloud) festgelegt werden.

Siehe unten - für mich dieses Setup funktioniert:

1. Create a topic 

1. Create a topic

2. Give the Drive publish permissions to your topic. This is done by adding the Drive scope in the box and following steps 2 and 3. 

2. Give the Drive publisher permission to your topic

3. Configure authorized WebHooks. Form the Create Topic page - click on add subscriptions. Not rely vizible here but once you are there you can manage. 

3. Configure authorized WebHooks

+0

Danke, Alon für so detaillierte Beschreibung. Ich folge deinem Guide, aber ich habe dasselbe Problem. Vor kurzem erstellte neue Frage hier (http: // stackoverflow.com/questions/36528336/google-drive-cant-get-push-benachrichtigungen) –