このドキュメントでは、Gmail API を使用してスレッド メッセージを取得し、スレッドにメッセージを追加する方法について説明します。
Gmail API は、
threads リソースを使用して、メールの返信とその元のメッセージを 1 つの会話または
スレッドにグループ化します。これにより、会話内のすべてのメッセージを順番に取得できるため、メッセージのコンテキストを把握したり、検索結果を絞り込んだりすることが容易になります。
messages
リソースと同様に、スレッドにもラベルを適用できます。ただし、メッセージとは異なり、スレッドは作成できず、削除のみ可能です。ただし、メッセージをスレッドに挿入することはできます。
スレッドを取得する
スレッドを使用すると、会話内のメッセージを順番に取得できます。一連のスレッドを一覧表示することで、メッセージを会話ごとにグループ化し、追加のコンテキストを提供できます。
threads.list
メソッドを使用してスレッドのリストを取得することも、
threads.get
メソッドを使用して特定のスレッドを取得することもできます。
次のコードサンプルは、受信トレイで最もチャットの多いスレッドを取得するサンプルで threads.get メソッドと threads.list メソッドを使用する方法を示しています。threads.list メソッドはすべてのスレッド ID を取得し、threads.get は各スレッド内のすべてのメッセージを取得します。3 件以上の返信があるメッセージの場合は、Subject 行を抽出し、空でないものとスレッド内のメッセージ数を表示します。
Python
スレッドをフィルタリングするには、
リソースで使用されるものと同じクエリ パラメータを使用します。messagesスレッド内のいずれかのメッセージがクエリと一致すると、そのスレッドが結果として返されます。
下書きとメッセージをスレッドに追加する
別のメールへの返信であるメッセージや会話の一部であるメッセージを送信または移行する場合、アプリケーションはそのメッセージを関連するスレッドに追加する必要があります。これにより、会話に参加している Gmail ユーザーは、メッセージのコンテキストを把握しやすくなります。
下書きは、スレッドに
作成、
更新、または
送信する際に、
drafts
リソースを使用して追加できます。
メッセージを
挿入または
送信する際に、
messages
リソースを使用してメッセージをスレッドに追加することもできます。
スレッドの一部にするには、下書きまたはメッセージが次の条件を満たしている必要があります。
リクエストで指定する
drafts.messageリソースまたはmessagesリソースの一部として、リクエストされたthreadIdを指定する必要があります。ReferencesヘッダーとIn-Reply-Toヘッダーは、 RFC 2822 標準に準拠して設定する必要があります。Subjectヘッダーが一致している必要があります。
threadId の使用方法のコードサンプルについては、下書き
を作成するまたはメッセージ
を送信するをご覧ください。どちらの場合も、リクエストの messages リソース内にターゲット threadId を含める必要があります。