このドキュメントでは、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 リソースを使用してメッセージを挿入または送信する際に、スレッドにメッセージを追加することもできます。
スレッドの一部となるには、下書きまたはメッセージが次の条件を満たしている必要があります。
リクエストされた
threadIdは、リクエストで指定するdrafts.messageまたはmessagesリソースの一部として指定する必要があります。ReferencesヘッダーとIn-Reply-Toヘッダーは、RFC 2822 標準に準拠して設定する必要があります。Subjectヘッダーが一致している必要があります。
threadId の使用方法のコードサンプルについては、下書きを作成するまたはメッセージを送信するをご覧ください。どちらの場合も、リクエストの messages リソース内にターゲット threadId を含める必要があります。