下書きは、DRAFT
システムラベルが適用された未送信のメッセージを表します。下書きに含まれるメッセージは、作成後は編集できませんが、置換はできます。この意味では、下書きリソースは、メッセージが置き換えられるたびに基になるメッセージ ID が変更されるため、単なる固定 ID を提供するコンテナです。
下書き内のメッセージ リソースの動作は他のメッセージとほぼ同じですが、次の点が異なります。
- メッセージの下書きに
DRAFT
システムラベル以外のラベルを設定することはできません。 - ドラフトが送信されると、ドラフトは自動的に削除され、更新された ID を持つ新しいメッセージが
SENT
システムラベルで作成されます。このメッセージは、drafts.send
レスポンスで返されます。
目次
下書きメッセージの作成
アプリは、Drafts.create メソッドを使用してドラフトを作成できます。一般的なプロセスは次のとおりです。
- RFC 2822 に準拠する MIME メッセージを作成します。
- メッセージを base64url でエンコードされた文字列に変換します。
- 下書きを作成し、
drafts.message.raw
フィールドの値をエンコードされた文字列に設定します。
次のサンプルコードは、このプロセスを示しています。
Java
Python
下書きの更新
下書きを作成するのと同様に、MIME メッセージを含む Base64url エンコード文字列に draft.message.raw
フィールドを設定し、リクエストの本文で Draft
リソースを指定する必要があります。メッセージは更新できないため、下書きに含まれるメッセージは破棄され、更新リクエストで指定された新しい MIME メッセージに置き換えられます。
下書きに含まれる現在の MIME メッセージを取得するには、パラメータ format=raw
を指定して drafts.get
を呼び出します。
詳細については、drafts.update
をご覧ください。
下書きの送信
下書きを送信するとき、メッセージをそのまま送信するか、更新後のメッセージを送信するかを選択できます。メッセージの下書きを新しいメッセージで更新する場合は、drafts.send
リクエストの本文に Draft
リソースを指定します。送信する下書きの draft.id
を設定し、draft.message.raw
フィールドを base64url エンコード文字列としてエンコードされた新しい MIME メッセージに設定します。詳細については、drafts.send
をご覧ください。