14

「試してみる」部分のドキュメントでは、API を再生できます。フィールド セレクターでは、ヘッダーや raw などの多くのフィールドを選択できます。私が見たのは、メッセージ ID とスレッド ID だけでした。

https://developers.google.com/gmail/api/v1/reference/users/messages/list

例:

GET https://www.googleapis.com/gmail/v1/users/{user_id}/messages?**fields=messages(historyId%2Cid%2Cpayload%2Craw%2CsizeEstimate%2Csnippet%2CthreadId)**&key={YOUR_API_KEY}

戻り値:

{
 "messages": [
  {
   "id": "146da54fe3dc089e",
   "threadId": "146da54fe3dc089e"
  },
  {
   "id": "146da41d9486982f",
   "threadId": "146da41d9486982f"
  },
  ...
}

しかし、リクエストされた追加のフィールドも返されると思います。

これを機能させる方法はありますか?個々のメッセージを取得する別の方法があることは知っていますが、可能であればバッチで取得したいと考えています。

4

2 に答える 2

0

messages.getセクションを使用して Google のドキュメントを参照すると、メソッドを使用して json 経由ですべてのフィールド値を返すことができましたgetMessage(...)

元のリクエストでは、 と が与えられidますthreadId。id を使用すると、次のようにしてすべてのメッセージを返すことができます。

ListMessagesResponse mResponse =
            service.users().messages().list(user).execute();

// This will return the json listed with the field methods id and threadId.
List<Message> messages = mResponse.getMessages();

// Parse the response
if(message.size() == 0){...}
else {
  for(Message msg: messages)
    *.getMessage(service,user,msg.getId());
}

上記は正確なコードではありませんが、この問題に対処する方法のアイデアを提供するはずです。

于 2016-09-15T15:15:35.940 に答える