Gmail API . users . threads

Instance Methods

close()

Close httplib2 connections.

delete(userId, id, x__xgafv=None)

Immediately and permanently deletes the specified thread. Any messages that belong to the thread are also deleted. This operation cannot be undone. Prefer `threads.trash` instead.

get(userId, id, format=None, metadataHeaders=None, x__xgafv=None)

Gets the specified thread.

list(userId, includeSpamTrash=None, labelIds=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)

Lists the threads in the user's mailbox.

list_next()

Retrieves the next page of results.

modify(userId, id, body=None, x__xgafv=None)

Modifies the labels applied to the thread. This applies to all messages in the thread.

trash(userId, id, x__xgafv=None)

Moves the specified thread to the trash. Any messages that belong to the thread are also moved to the trash.

untrash(userId, id, x__xgafv=None)

Removes the specified thread from the trash. Any messages that belong to the thread are also removed from the trash.

Method Details

close()
Close httplib2 connections.
delete(userId, id, x__xgafv=None)
Immediately and permanently deletes the specified thread. Any messages that belong to the thread are also deleted. This operation cannot be undone. Prefer `threads.trash` instead.

Args:
  userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
  id: string, ID of the Thread to delete. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
get(userId, id, format=None, metadataHeaders=None, x__xgafv=None)
Gets the specified thread.

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 thread to retrieve. (required)
  format: string, The format to return the messages in.
    Allowed values
      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.
      metadata - Returns only email message IDs, labels, and email headers.
      minimal - Returns only email message IDs and labels; does not return the email headers, body, or payload.
  metadataHeaders: string, When given and format is METADATA, only include headers specified. (repeated)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A collection of messages representing a conversation.
  "historyId": "A String", # The ID of the last history record that modified this thread.
  "id": "A String", # The unique ID of the thread.
  "messages": [ # The list of messages in the thread.
    { # 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.
    },
  ],
  "snippet": "A String", # A short part of the message text.
}
list(userId, includeSpamTrash=None, labelIds=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)
Lists the threads 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 threads from `SPAM` and `TRASH` in the results.
  labelIds: string, Only return threads with labels that match all of the specified label IDs. (repeated)
  maxResults: integer, Maximum number of threads 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 threads matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. Parameter cannot be used when accessing the api using the gmail.metadata scope.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  "nextPageToken": "A String", # Page token to retrieve the next page of results in the list.
  "resultSizeEstimate": 42, # Estimated total number of results.
  "threads": [ # List of threads. Note that each thread resource does not contain a list of `messages`. The list of `messages` for a given thread can be fetched using the threads.get method.
    { # A collection of messages representing a conversation.
      "historyId": "A String", # The ID of the last history record that modified this thread.
      "id": "A String", # The unique ID of the thread.
      "messages": [ # The list of messages in the thread.
        { # 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.
        },
      ],
      "snippet": "A String", # A short part of the message text.
    },
  ],
}
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.
        
modify(userId, id, body=None, x__xgafv=None)
Modifies the labels applied to the thread. This applies to all messages in the thread.

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 thread to modify. (required)
  body: object, The request body.
    The object takes the form of:

{
  "addLabelIds": [ # A list of IDs of labels to add to this thread. You can add up to 100 labels with each update.
    "A String",
  ],
  "removeLabelIds": [ # A list of IDs of labels to remove from this thread. You can remove up to 100 labels with each update.
    "A String",
  ],
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A collection of messages representing a conversation.
  "historyId": "A String", # The ID of the last history record that modified this thread.
  "id": "A String", # The unique ID of the thread.
  "messages": [ # The list of messages in the thread.
    { # 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.
    },
  ],
  "snippet": "A String", # A short part of the message text.
}
trash(userId, id, x__xgafv=None)
Moves the specified thread to the trash. Any messages that belong to the thread are also moved to the trash.

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 thread to Trash. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A collection of messages representing a conversation.
  "historyId": "A String", # The ID of the last history record that modified this thread.
  "id": "A String", # The unique ID of the thread.
  "messages": [ # The list of messages in the thread.
    { # 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.
    },
  ],
  "snippet": "A String", # A short part of the message text.
}
untrash(userId, id, x__xgafv=None)
Removes the specified thread from the trash. Any messages that belong to the thread are also removed from the trash.

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 thread to remove from Trash. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A collection of messages representing a conversation.
  "historyId": "A String", # The ID of the last history record that modified this thread.
  "id": "A String", # The unique ID of the thread.
  "messages": [ # The list of messages in the thread.
    { # 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.
    },
  ],
  "snippet": "A String", # A short part of the message text.
}