3

トピックを作成し、サブスクライブし、Google の API Explorer を使用してトピックの公開権を設定しました。次に、https ://developers.google.com/gmail/api/guides/ で説明されているように、ウォッチ リクエストを作成する必要があります。押す

ただし、以前のスレッドによると、API Explorer でこれを行うことはできず、gcloud から直接行う必要があります。呼び出しの一般的な形式は次のようなものです。

POST "https://www.googleapis.com/gmail/v1/users/me/watch"
Content-type: application/json

{
  topicName: "projects/myproject/topics/mytopic",
  labelIds: ["INBOX"],
}

ただし、これを node.js に実装する方法が正確にはわかりません。コードはどのようになりますか? 次のことを試しましたが、function undefinedエラーが発生します。

gcloud.watch({  "topicName":
"projects/pipedrivesekoul/topics/my-new-topic",  "labelIds": [  
"INBOX"  ] })

どんな助けでも大歓迎です!

4

3 に答える 3

4

はい、Gmail API を使用してウォッチャーをセットアップする必要があります。以下の例を参照してください。自分でこれを行う前に「oauth2Client」をセットアップする必要があります。Web サイトで Google ログイン機能を使用している場合は、既にそれを使用しています。

var options = {
    userId: 'me',
    auth: oauth2Client,
    resource: {
        labelIds: ['INBOX'],
        topicName: 'projects/id/topics/messageCenter'
    }
};

gmail.users.watch(options, function (err, res) {
    if (err) {
        // doSomething here;
        return;
    }
    // doSomething here;
});
于 2016-03-09T15:19:15.300 に答える
2

残念ながら、gcloud-node ではサポートされていません。API Explorer から gmail API を使用できます: https://developers.google.com/apis-explorer/#p/gmail/v1/

于 2015-07-30T23:08:23.737 に答える
2

他のすべてが失敗した場合は、次のように、たとえばリクエストモジュールを使用して POST リクエストを実行できます。

var request = require('request');

request({
  url: "https://www.googleapis.com/gmail/v1/users/me/watch",
  method: "POST",
  headers: {
    Authorization: 'Bearer {YOUR_API_KEY}'
  },
  data: {
    topicName: "projects/pipedrivesekoul/topics/my-new-topic",
    labelIds: ["INBOX"]
  },
  json: true
}, function(response) {
  console.log(JSON.stringify(response, null, 4));
});
于 2015-07-31T07:35:16.280 に答える