2017-02-03 1 views
0

Ich habe sehr schlechte Erfahrungen mit googleapis, verloren eine Woche, aber gescheitert, so dass ich Fragen öffnen, um die Hilfe von allen zu finden.Ich möchte neue Google Mail benachrichtigen von Google Cloud Pub/Sub-API

Nach einem Thema & Abonnement Erstellung (mit Endpunkt-URL) von PUB/SUB von Google Cloud Flacher Console, benutzen ich NodeJS mit Code unten:

var gmail = google.gmail({ auth: {---my auth---}, version: 'v1' }); 

gmail.users.watch({ 
    userId: "me", 
    resource: { 
     topicName: "projects/responsive-hall-xxxx/topics/xxxx", 
     labelIds: ["INBOX"] 
    } 
} 

bekam aber den Fehler 403:

{ 
     domain: 'global', 
     reason: 'forbidden', 
     message: 'Error sending test message to Cloud PubSub projects/responsive-hall-xxxx/topics/xxxx : User not authorized to perform this action.' 
} 

Ich habe versucht, Berechtigungen für mein Google Mail-Konto auf der Pub/Sub, aber immer noch nicht erfolgreich.

Bitte helfen, Danke!

Antwort

0

Wie in Cloud-Pub/Sub-Dokumentation diskutiert, versuchen Sie es im Anschluss an die für 403 - Forbidden error:

  • sicher, dass Sie die Google Cloud Pub/Sub-API in der Konsole Cloud Platform aktiviert haben.
  • Stellen Sie sicher, dass der Auftraggeber, der die Anfrage erstellt, über die erforderlichen Berechtigungen für die relevanten Google Cloud Pub/Sub-Ressourcen verfügt, insbesondere wenn Sie Google Cloud Pub/Sub für die projektübergreifende Kommunikation verwenden.
  • Wenn Sie Dataflow verwenden, stellen Sie sicher, dass sowohl <projectId>@cloudservices.gserviceaccount.com als auch das Compute Engine-Dienstkonto <projectId>[email protected] über die entsprechende Google Cloud Pub/Sub-Ressource required permissions verfügen. Weitere Informationen finden Sie unter Google Cloud Dataflow Security and Permissions. Wenn Sie App Engine verwenden, prüfen Sie in Ihrem Projekt Permissions page, ob ein App Engine-Dienstkonto als Editor aufgeführt ist. Wenn dies nicht der Fall ist, fügen Sie Ihr App Engine-Dienstkonto als Editor hinzu. Normalerweise hat das App Engine-Dienstkonto das Format <project-id>@appspot.gserviceaccount.com.

Zusätzlich zu, dass, können Sie auch push endpoints configuration zu überprüfen, wie in diesem Stand der SO post vorgeschlagen.