2017-06-26 13 views
1

無効な履歴IDを返すAPIをabtに投稿しました。私はこれを理解しようとしています。これらのIDは実際のメッセージではなく、下書きであるため、IDは要求を受け取るメッセージで有効ではないと思います。私はhistorylistがmessagesAddedリクエストのためにドラフトを返す理由を知らない。これが期待される行動かどうか誰かに教えてもらえますか?Gmail APIの履歴リクエストが返信されました。

{ 
"history": [ 
    { 
    "id": "10946109", 
    "messages": [ 
    { 
    "id": "15cc8cd840c2945a", 
    "threadId": "15cc5ccf65733c7f" 
    } 
    ], 
    "messagesAdded": [ 
    { 
    "message": { 
     ... 
     "labelIds": [ 
     "SENT" 
     ] 
    } 
    } 
    ] 
    }, 
    { 
    "id": "10975146", 
    "messages": [ 
    { 
    ... 
    } 
    ], 
    "messagesAdded": [ 
    { 
    "message": { 
     ... 
     "labelIds": [ 
     "DRAFT" 
     ] 
    } 
    } 
    ] 
    } 

ドラフトではなく実際のメッセージにフィルタリングする必要がある場合、私は単にラベルIDにDRAFTを含まないのですか?

答えて

0

あなたの最初の質問:これは正常な動作である場合

は、誰かが私に言うことはできますか?

はいこれは予想される動作です(複製されます)。

Users.history:指定したメールボックスへのすべての変更のリスト

リスト歴史このDocumentに関する履歴リストを確認してください。履歴の結果 は、時間順に返されます(履歴IDを増やす)。


あなたの2番目の質問:

私は、実際のメッセージをフィルタリングする必要がある場合は - ない草稿、私はちょうどlabelIdsがDRAFTが含まれていないんですか?

はい実際のフィルタがあります。 "labelId"パラメータを "DRAFT"以外のものに変更して、ドラフトの結果を履歴に返さないようにすることができます。以下は

適切ドラフトラベルタイプを返さずにあなたのメッセージをフィルタリングする方法についての簡単なガイドです:

  1. ちょうどことを確認するために、ラベルのリストを表示するには、このLabel API Test Linkを試してみてください、labelIdのあなたのリストを確認するにはAPIを実行して、手順3の後に有効な「labelId」を使用します。

  2. は、「historyId」を取得するためにIDを入力することにより、Message Get API を使用し、その後1つのIDを取得し、メッセージのリストを取得し、Message List APIを実行することにより、「historyId」の値を取得します。 labelIdが「DRAFT」タイプでないことを確認するか、「DRAFT」タイプを返さないようにリストから別のIDを取得する必要があります。

  3. History API Test Linkを実行します。 "userId"と "startHistoryId"()を入力してのメッセージの「startHistoryId」の値をだけ引いて、1からを引いたものにしてから、あなたが取得したラベルのリストから1つを使用して「labelId」を変更しますステップ2でGET APIを使用し、「historyTypes」を「messagesAdded」に変更してからexecuteをクリックします。

入力された「ラベルID」の下にメッセージのリストを返し、「ドラフト」タイプは返しません。

+0

Thx。これがすべてのメッセージが必要なときに役立つかどうかわかりません - そうすれば、私が必要とするすべてのラベルIDを呼び出す必要があります。多くは複数のラベルに存在します。私が欲しいラベルを指定する方法がない限り...? –

+0

また、スパムは返されますか? –