Close httplib2 connections.
Lists the history of all changes to the given mailbox. History results are returned in chronological order (increasing `historyId`).
list_next(previous_request, previous_response)
Retrieves the next page of results.
close()
Close httplib2 connections.
list(userId, historyTypes=None, labelId=None, maxResults=None, pageToken=None, startHistoryId=None, x__xgafv=None)
Lists the history of all changes to the given mailbox. History results are returned in chronological order (increasing `historyId`).
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
historyTypes: string, History types to be returned by the function (repeated)
Allowed values
messageAdded -
messageDeleted -
labelAdded -
labelRemoved -
labelId: string, Only return messages with a label matching the ID.
maxResults: integer, Maximum number of history records 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.
startHistoryId: string, Required. Returns history records after the specified `startHistoryId`. The supplied `startHistoryId` should be obtained from the `historyId` of a message, thread, or previous `list` response. History IDs increase chronologically but are not contiguous with random gaps in between valid IDs. Supplying an invalid or out of date `startHistoryId` typically returns an `HTTP 404` error code. A `historyId` is typically valid for at least a week, but in some rare circumstances may be valid for only a few hours. If you receive an `HTTP 404` error response, your application should perform a full sync. If you receive no `nextPageToken` in the response, there are no updates to retrieve and you can store the returned `historyId` for a future request.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{
"history": [ # List of history records. Any `messages` contained in the response will typically only have `id` and `threadId` fields populated.
{ # A record of a change to the user's mailbox. Each history change may affect multiple messages in multiple ways.
"id": "A String", # The mailbox sequence ID.
"labelsAdded": [ # Labels added to messages in this history record.
{
"labelIds": [ # Label IDs added to the message.
"A String",
],
"message": { # An email message.
"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.
},
},
],
"labelsRemoved": [ # Labels removed from messages in this history record.
{
"labelIds": [ # Label IDs removed from the message.
"A String",
],
"message": { # An email message.
"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.
},
},
],
"messages": [ # List of messages changed in this history record. The fields for specific change types, such as `messagesAdded` may duplicate messages in this field. We recommend using the specific change-type fields instead of this.
{ # An email message.
"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.
},
],
"messagesAdded": [ # Messages added to the mailbox in this history record.
{
"message": { # An email message.
"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.
},
},
],
"messagesDeleted": [ # Messages deleted (not Trashed) from the mailbox in this history record.
{
"message": { # An email message.
"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.
},
},
],
},
],
"historyId": "A String", # The ID of the mailbox's current history record.
"nextPageToken": "A String", # Page token to retrieve the next page of results in the list.
}
list_next(previous_request, previous_response)
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.