Close httplib2 connections.
create(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Creates a new draft with the `DRAFT` label.
delete(userId, id, x__xgafv=None)
Immediately and permanently deletes the specified draft. Does not simply trash it.
get(userId, id, format=None, x__xgafv=None)
Gets the specified draft.
list(userId, includeSpamTrash=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)
Lists the drafts in the user's mailbox.
Retrieves the next page of results.
send(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers.
update(userId, id, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Replaces a draft's content.
close()
Close httplib2 connections.
create(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Creates a new draft with the `DRAFT` label.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
}
media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
}
delete(userId, id, x__xgafv=None)
Immediately and permanently deletes the specified draft. Does not simply trash it.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the draft to delete. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
get(userId, id, format=None, x__xgafv=None)
Gets the specified draft.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the draft to retrieve. (required)
format: string, The format to return the draft in.
Allowed values
minimal - Returns only email message ID and labels; does not return the email headers, body, or payload.
full - Returns the full email message data with body content parsed in the `payload` field; the `raw` field is not used. Format cannot be used when accessing the api using the gmail.metadata scope.
raw - Returns the full email message data with body content in the `raw` field as a base64url encoded string; the `payload` field is not used. Format cannot be used when accessing the api using the gmail.metadata scope.
metadata - Returns only email message ID, labels, and email headers.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
}
list(userId, includeSpamTrash=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)
Lists the drafts in the user's mailbox.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
includeSpamTrash: boolean, Include drafts from `SPAM` and `TRASH` in the results.
maxResults: integer, Maximum number of drafts to return. This field defaults to 100. The maximum allowed value for this field is 500.
pageToken: string, Page token to retrieve a specific page of results in the list.
q: string, Only return draft messages matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{
"drafts": [ # List of drafts. Note that the `Message` property in each `Draft` resource only contains an `id` and a `threadId`. The [`messages.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/messages/get) method can fetch additional message details.
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
},
],
"nextPageToken": "A String", # Token to retrieve the next page of results in the list.
"resultSizeEstimate": 42, # Estimated total number of results.
}
list_next()
Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call 'execute()' on to request the next
page. Returns None if there are no more items in the collection.
send(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
}
media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
update(userId, id, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Replaces a draft's content.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the draft to update. (required)
body: object, The request body.
The object takes the form of:
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
}
media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A draft email in the user's mailbox.
"id": "A String", # The immutable ID of the draft.
"message": { # An email message. # The message content of the draft.
"classificationLabelValues": [ # Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts.
{ # Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382).
"fields": [ # Field values for the given classification label ID.
{ # Field values for a classification label.
"fieldId": "A String", # Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object.
"selection": "A String", # Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource.
},
],
"labelId": "A String", # Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource.
},
],
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
}