Gmail API . users . threads

Instance Methods

delete(userId, id, x__xgafv=None)

Immediately and permanently deletes the specified thread. This operation

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

Gets the specified thread.

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

Lists the threads in the user's mailbox.

list_next(previous_request, previous_response)

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

trash(userId, id, x__xgafv=None)

Moves the specified thread to the trash.

untrash(userId, id, x__xgafv=None)

Removes the specified thread from the trash.

Method Details

delete(userId, id, x__xgafv=None)
Immediately and permanently deletes the specified thread. This operation
cannot be undone. Prefer <code>threads.trash</code> instead.

Args:
  userId: string, The user's email address. The special value <code>me</code>
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, x__xgafv=None, metadataHeaders=None)
Gets the specified thread.

Args:
  userId: string, The user's email address. The special value <code>me</code>
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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  metadataHeaders: string, When given and format is METADATA, only include headers specified. (repeated)

Returns:
  An object of the form:

    { # A collection of messages representing a conversation.
    "snippet": "A String", # A short part of the message text.
    "messages": [ # The list of messages in the thread.
      { # An email 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 <code>Date</code> header. However, for API-migrated mail, it can
            # be configured by client to be based on the <code>Date</code> header.
        "historyId": "A String", # The ID of the last history record that modified this message.
        "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.
            "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.
            "attachmentId": "A String", # When present, contains the ID of an external attachment that can be
                # retrieved in a separate <code>messages.attachments.get</code> request.
                # When not present, the entire content of the message part body is
                # contained in the data field.
            "size": 42, # Number of bytes for the message part data (encoding notwithstanding).
          },
          "mimeType": "A String", # The MIME type of the message part.
          "partId": "A String", # The immutable ID of the message part.
          "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 <code>To</code>, <code>From</code>, and
              # <code>Subject</code>.
            {
              "name": "A String", # The name of the header before the <code>:</code> separator. For
                  # example, <code>To</code>.
              "value": "A String", # The value of the header after the <code>:</code> separator. For example,
                  # <code>someuser@example.com</code>.
            },
          ],
          "parts": [ # The child MIME message parts of this part. This only applies to container
              # MIME message parts, for example <code>multipart/*</code>. For non-
              # container MIME message part types, such as <code>text/plain</code>, this
              # field is empty. For more information, see
              # <a href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a>.
            # Object with schema name: MessagePart
          ],
        },
        "snippet": "A String", # A short part of the message text.
        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url
            # encoded string. Returned in <code>messages.get</code> and
            # <code>drafts.get</code> responses when the <code>format=RAW</code>
            # parameter is supplied.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "sizeEstimate": 42, # Estimated size in bytes of the message.
        "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:
            # <ol><li>The requested <code>threadId</code> must be specified on the
            # <code>Message</code> or <code>Draft.Message</code> you supply with your
            # request.</li>
            # <li>The <code>References</code> and <code>In-Reply-To</code> headers must
            # be set in compliance with the
            # <a href="https://tools.ietf.org/html/rfc2822">RFC 2822</a> standard.</li>
            # <li>The <code>Subject</code> headers must match.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "labelIds": [ # List of IDs of labels applied to this message.
            # @mutable gmail.users.messages.insert gmail.users.messages.modify
          "A String",
        ],
        "id": "A String", # The immutable ID of the message.
      },
    ],
    "id": "A String", # The unique ID of the thread.
    "historyId": "A String", # The ID of the last history record that modified this thread.
  }
list(userId, labelIds=None, pageToken=None, includeSpamTrash=None, maxResults=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 <code>me</code>
can be used to indicate the authenticated user. (required)
  labelIds: string, Only return threads with labels that match all of the specified label IDs. (repeated)
  pageToken: string, Page token to retrieve a specific page of results in the list.
  includeSpamTrash: boolean, Include threads from <code>SPAM</code> and <code>TRASH</code>
in the results.
  maxResults: integer, Maximum number of threads to return.
  q: string, Only return threads matching the specified query. Supports the same
query format as the Gmail search box. For example,
<code>"from:someuser@example.com rfc822msgid:<somemsgid@example.com>
is:unread"</code>. 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
        # <code>messages</code>. The list of <code>messages</code> for a given thread
        # can be fetched using the
        # <a href="/gmail/api/v1/reference/users/threads/get">threads.get</a> method.
      { # A collection of messages representing a conversation.
        "snippet": "A String", # A short part of the message text.
        "messages": [ # The list of messages in the thread.
          { # An email 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 <code>Date</code> header. However, for API-migrated mail, it can
                # be configured by client to be based on the <code>Date</code> header.
            "historyId": "A String", # The ID of the last history record that modified this message.
            "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.
                "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.
                "attachmentId": "A String", # When present, contains the ID of an external attachment that can be
                    # retrieved in a separate <code>messages.attachments.get</code> request.
                    # When not present, the entire content of the message part body is
                    # contained in the data field.
                "size": 42, # Number of bytes for the message part data (encoding notwithstanding).
              },
              "mimeType": "A String", # The MIME type of the message part.
              "partId": "A String", # The immutable ID of the message part.
              "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 <code>To</code>, <code>From</code>, and
                  # <code>Subject</code>.
                {
                  "name": "A String", # The name of the header before the <code>:</code> separator. For
                      # example, <code>To</code>.
                  "value": "A String", # The value of the header after the <code>:</code> separator. For example,
                      # <code>someuser@example.com</code>.
                },
              ],
              "parts": [ # The child MIME message parts of this part. This only applies to container
                  # MIME message parts, for example <code>multipart/*</code>. For non-
                  # container MIME message part types, such as <code>text/plain</code>, this
                  # field is empty. For more information, see
                  # <a href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a>.
                # Object with schema name: MessagePart
              ],
            },
            "snippet": "A String", # A short part of the message text.
            "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url
                # encoded string. Returned in <code>messages.get</code> and
                # <code>drafts.get</code> responses when the <code>format=RAW</code>
                # parameter is supplied.
                # @mutable gmail.users.messages.insert gmail.users.messages.send
                # @mutable gmail.users.drafts.create gmail.users.drafts.update
            "sizeEstimate": 42, # Estimated size in bytes of the message.
            "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:
                # <ol><li>The requested <code>threadId</code> must be specified on the
                # <code>Message</code> or <code>Draft.Message</code> you supply with your
                # request.</li>
                # <li>The <code>References</code> and <code>In-Reply-To</code> headers must
                # be set in compliance with the
                # <a href="https://tools.ietf.org/html/rfc2822">RFC 2822</a> standard.</li>
                # <li>The <code>Subject</code> headers must match.
                # @mutable gmail.users.messages.insert gmail.users.messages.send
                # @mutable gmail.users.drafts.create gmail.users.drafts.update
            "labelIds": [ # List of IDs of labels applied to this message.
                # @mutable gmail.users.messages.insert gmail.users.messages.modify
              "A String",
            ],
            "id": "A String", # The immutable ID of the message.
          },
        ],
        "id": "A String", # The unique ID of the thread.
        "historyId": "A String", # The ID of the last history record that modified this thread.
      },
    ],
  }
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.
    
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 <code>me</code>
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:

{
    "removeLabelIds": [ # A list of IDs of labels to remove from this thread.
      "A String",
    ],
    "addLabelIds": [ # A list of IDs of labels to add to this thread.
      "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.
    "snippet": "A String", # A short part of the message text.
    "messages": [ # The list of messages in the thread.
      { # An email 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 <code>Date</code> header. However, for API-migrated mail, it can
            # be configured by client to be based on the <code>Date</code> header.
        "historyId": "A String", # The ID of the last history record that modified this message.
        "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.
            "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.
            "attachmentId": "A String", # When present, contains the ID of an external attachment that can be
                # retrieved in a separate <code>messages.attachments.get</code> request.
                # When not present, the entire content of the message part body is
                # contained in the data field.
            "size": 42, # Number of bytes for the message part data (encoding notwithstanding).
          },
          "mimeType": "A String", # The MIME type of the message part.
          "partId": "A String", # The immutable ID of the message part.
          "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 <code>To</code>, <code>From</code>, and
              # <code>Subject</code>.
            {
              "name": "A String", # The name of the header before the <code>:</code> separator. For
                  # example, <code>To</code>.
              "value": "A String", # The value of the header after the <code>:</code> separator. For example,
                  # <code>someuser@example.com</code>.
            },
          ],
          "parts": [ # The child MIME message parts of this part. This only applies to container
              # MIME message parts, for example <code>multipart/*</code>. For non-
              # container MIME message part types, such as <code>text/plain</code>, this
              # field is empty. For more information, see
              # <a href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a>.
            # Object with schema name: MessagePart
          ],
        },
        "snippet": "A String", # A short part of the message text.
        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url
            # encoded string. Returned in <code>messages.get</code> and
            # <code>drafts.get</code> responses when the <code>format=RAW</code>
            # parameter is supplied.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "sizeEstimate": 42, # Estimated size in bytes of the message.
        "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:
            # <ol><li>The requested <code>threadId</code> must be specified on the
            # <code>Message</code> or <code>Draft.Message</code> you supply with your
            # request.</li>
            # <li>The <code>References</code> and <code>In-Reply-To</code> headers must
            # be set in compliance with the
            # <a href="https://tools.ietf.org/html/rfc2822">RFC 2822</a> standard.</li>
            # <li>The <code>Subject</code> headers must match.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "labelIds": [ # List of IDs of labels applied to this message.
            # @mutable gmail.users.messages.insert gmail.users.messages.modify
          "A String",
        ],
        "id": "A String", # The immutable ID of the message.
      },
    ],
    "id": "A String", # The unique ID of the thread.
    "historyId": "A String", # The ID of the last history record that modified this thread.
  }
trash(userId, id, x__xgafv=None)
Moves the specified thread to the trash.

Args:
  userId: string, The user's email address. The special value <code>me</code>
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.
    "snippet": "A String", # A short part of the message text.
    "messages": [ # The list of messages in the thread.
      { # An email 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 <code>Date</code> header. However, for API-migrated mail, it can
            # be configured by client to be based on the <code>Date</code> header.
        "historyId": "A String", # The ID of the last history record that modified this message.
        "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.
            "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.
            "attachmentId": "A String", # When present, contains the ID of an external attachment that can be
                # retrieved in a separate <code>messages.attachments.get</code> request.
                # When not present, the entire content of the message part body is
                # contained in the data field.
            "size": 42, # Number of bytes for the message part data (encoding notwithstanding).
          },
          "mimeType": "A String", # The MIME type of the message part.
          "partId": "A String", # The immutable ID of the message part.
          "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 <code>To</code>, <code>From</code>, and
              # <code>Subject</code>.
            {
              "name": "A String", # The name of the header before the <code>:</code> separator. For
                  # example, <code>To</code>.
              "value": "A String", # The value of the header after the <code>:</code> separator. For example,
                  # <code>someuser@example.com</code>.
            },
          ],
          "parts": [ # The child MIME message parts of this part. This only applies to container
              # MIME message parts, for example <code>multipart/*</code>. For non-
              # container MIME message part types, such as <code>text/plain</code>, this
              # field is empty. For more information, see
              # <a href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a>.
            # Object with schema name: MessagePart
          ],
        },
        "snippet": "A String", # A short part of the message text.
        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url
            # encoded string. Returned in <code>messages.get</code> and
            # <code>drafts.get</code> responses when the <code>format=RAW</code>
            # parameter is supplied.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "sizeEstimate": 42, # Estimated size in bytes of the message.
        "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:
            # <ol><li>The requested <code>threadId</code> must be specified on the
            # <code>Message</code> or <code>Draft.Message</code> you supply with your
            # request.</li>
            # <li>The <code>References</code> and <code>In-Reply-To</code> headers must
            # be set in compliance with the
            # <a href="https://tools.ietf.org/html/rfc2822">RFC 2822</a> standard.</li>
            # <li>The <code>Subject</code> headers must match.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "labelIds": [ # List of IDs of labels applied to this message.
            # @mutable gmail.users.messages.insert gmail.users.messages.modify
          "A String",
        ],
        "id": "A String", # The immutable ID of the message.
      },
    ],
    "id": "A String", # The unique ID of the thread.
    "historyId": "A String", # The ID of the last history record that modified this thread.
  }
untrash(userId, id, x__xgafv=None)
Removes the specified thread from the trash.

Args:
  userId: string, The user's email address. The special value <code>me</code>
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.
    "snippet": "A String", # A short part of the message text.
    "messages": [ # The list of messages in the thread.
      { # An email 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 <code>Date</code> header. However, for API-migrated mail, it can
            # be configured by client to be based on the <code>Date</code> header.
        "historyId": "A String", # The ID of the last history record that modified this message.
        "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.
            "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.
            "attachmentId": "A String", # When present, contains the ID of an external attachment that can be
                # retrieved in a separate <code>messages.attachments.get</code> request.
                # When not present, the entire content of the message part body is
                # contained in the data field.
            "size": 42, # Number of bytes for the message part data (encoding notwithstanding).
          },
          "mimeType": "A String", # The MIME type of the message part.
          "partId": "A String", # The immutable ID of the message part.
          "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 <code>To</code>, <code>From</code>, and
              # <code>Subject</code>.
            {
              "name": "A String", # The name of the header before the <code>:</code> separator. For
                  # example, <code>To</code>.
              "value": "A String", # The value of the header after the <code>:</code> separator. For example,
                  # <code>someuser@example.com</code>.
            },
          ],
          "parts": [ # The child MIME message parts of this part. This only applies to container
              # MIME message parts, for example <code>multipart/*</code>. For non-
              # container MIME message part types, such as <code>text/plain</code>, this
              # field is empty. For more information, see
              # <a href="http://www.ietf.org/rfc/rfc1521.txt">RFC 1521</a>.
            # Object with schema name: MessagePart
          ],
        },
        "snippet": "A String", # A short part of the message text.
        "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url
            # encoded string. Returned in <code>messages.get</code> and
            # <code>drafts.get</code> responses when the <code>format=RAW</code>
            # parameter is supplied.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "sizeEstimate": 42, # Estimated size in bytes of the message.
        "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:
            # <ol><li>The requested <code>threadId</code> must be specified on the
            # <code>Message</code> or <code>Draft.Message</code> you supply with your
            # request.</li>
            # <li>The <code>References</code> and <code>In-Reply-To</code> headers must
            # be set in compliance with the
            # <a href="https://tools.ietf.org/html/rfc2822">RFC 2822</a> standard.</li>
            # <li>The <code>Subject</code> headers must match.
            # @mutable gmail.users.messages.insert gmail.users.messages.send
            # @mutable gmail.users.drafts.create gmail.users.drafts.update
        "labelIds": [ # List of IDs of labels applied to this message.
            # @mutable gmail.users.messages.insert gmail.users.messages.modify
          "A String",
        ],
        "id": "A String", # The immutable ID of the message.
      },
    ],
    "id": "A String", # The unique ID of the thread.
    "historyId": "A String", # The ID of the last history record that modified this thread.
  }