このドキュメントでは、Gmail API を使用して下書きメールを作成、更新、送信する方法について説明します。
メールの下書きは、DRAFT システムラベルが適用された未送信のメッセージを表します。作成した下書き内のメッセージは編集できませんが、置き換えることはできます。この意味で、drafts リソースは、基盤となるメッセージ ID がメッセージの置き換えごとに変更されるため、安定した ID を提供するコンテナです。
下書き内の messages リソースは、次の点を除き、他のメッセージと同様の動作をします。
- 下書きメッセージには、
DRAFTシステムラベル以外のラベルを付けることはできません。 - 下書きが送信されると、下書きは自動的に削除され、更新された ID を含む新しいメッセージが
SENTシステムラベルとともに作成されます。このメッセージは、drafts.sendメソッドのレスポンスで返されます。
下書きを作成する
アプリは drafts.create メソッドを使用して下書きを作成できます。下書きを作成するには:
- RFC 2822 に準拠した MIME メッセージを作成します。
- メッセージを base64URL でエンコードされた文字列に変換します。
drafts.createメソッドを呼び出し、messages.rawフィールドの値をエンコードされた文字列に設定します。
次のコードサンプルは、このプロセスを示しています。
Java
Python
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
次のように置き換えます。
- ACCESS_TOKEN: API へのアクセスを許可するアクセス トークン。
- MESSAGE: RFC 2822 形式の MIME メッセージ。base64URL としてエンコードされます。
下書きを更新
下書きの作成と同様に、下書きを更新するには、リクエストの本文で drafts リソースを指定し、messages.raw フィールドを MIME メッセージを含む base64URL エンコード文字列に設定する必要があります。メッセージを更新できないため、下書きに含まれるメッセージは破棄され、更新リクエストで指定された新しい MIME メッセージに置き換えられます。
下書きに含まれる現在の MIME メッセージを取得するには、クエリ パラメータ format=raw を指定して drafts.get メソッドを呼び出します。
詳細については、drafts.update メソッドをご覧ください。
下書きを送信する
下書きを送信する際は、そのまま送信することも、送信リクエストで更新を提供することもできます。
送信時にドラフトを更新するには、drafts.send メソッドのリクエスト本文に drafts リソースを指定します。drafts リソースで、送信する下書きのドラフト id を指定し、messages.raw フィールドを base64URL 文字列としてエンコードされた新しい MIME メッセージに設定する必要があります。
Gmail メッセージの送信については、メッセージを送信するをご覧ください。