2017-02-03 3 views
0

googleapisで非常に悪い経験をしていますが、1週間で失われましたが失敗したので、皆さんの助けを求める質問を開きます。Google Cloud Pub/Sub APIで新しいGmail通知を取得したい

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

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

をしかし、エラー403だ:

は、GoogleクラウドFlatformコンソールのPUB/SUBから(エンドポイントURL付き)話題&サブスクリプションを作成した後、私は怒鳴るのコードでnodejsを使用

{ 
     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.' 
} 

私のGmailアカウントの権限をパブ/サブに設定しようとしましたが、まだ失敗しました。

助けてください、 ありがとう!

答えて

0

クラウドパブ/サブ文書で説明したように、403 - Forbidden errorために次のことを試してください。

  • あなたがクラウドプラットフォームコンソールでGoogleクラウドパブ/サブAPIを有効にしていることを確認してください。
  • 特に、プロジェクト間の通信にGoogle Cloud Pub/Subを使用している場合、要求を行った主体が関連するGoogle Cloud Pub/Subリソースに必要な権限を持っていることを確認してください。
  • データフローを使用している場合は、<projectId>@cloudservices.gserviceaccount.comとCompute Engineサービスアカウント<projectId>[email protected]の両方に、関連するGoogle Cloud Pub/Subリソースにrequired permissionsが含まれていることを確認してください。詳細については、Google Cloud Dataflow Security and Permissionsを参照してください。
  • App Engineを使用している場合は、プロジェクトのPermissions pageをチェックして、App Engineサービスアカウントがエディタとしてリストされているかどうかを確認してください。そうでない場合は、App Engineサービスアカウントをエディタとして追加します。通常、App Engineサービスアカウントの形式は<project-id>@appspot.gserviceaccount.comです。

はそれに加えて、あなたはこの関連SO postで提案されているようにもpush endpoints configurationをチェックすることもできます。

関連する問題