# Gmail API . users

## Instance Methods

Returns the drafts Resource.

Returns the history Resource.

Returns the labels Resource.

Returns the messages Resource.

Returns the threads Resource.

Gets the current user's Gmail profile.

Stop receiving push notifications for the given user mailbox.

Set up or update a push notification watch on the given user mailbox.

### Method Details

`getProfile(userId)`

    Gets the current user's Gmail profile.

    Args:
      userId: string, The user's email address. The special value me can be used to indicate the authenticated user. (required)

    Returns:
      An object of the form:

        { # Profile for a Gmail user.
        "threadsTotal": 42, # The total number of threads in the mailbox.
        "emailAddress": "A String", # The user's email address.
        "historyId": "A String", # The ID of the mailbox's current history record.
        "messagesTotal": 42, # The total number of messages in the mailbox.
      }

`stop(userId)`

    Stop receiving push notifications for the given user mailbox.

    Args:
      userId: string, The user's email address. The special value me can be used to indicate the authenticated user. (required)

`watch(userId, body)`

    Set up or update a push notification watch on the given user mailbox.

    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. (required)
        The object takes the form of:

    { # Set up or update a new push notification watch on this user's mailbox.
        "labelIds": [ # List of label_ids to restrict notifications about. By default, if unspecified, all changes are pushed out. If specified then dictates which labels are required for a push notification to be generated.
          "A String",
        ],
        "topicName": "A String", # A fully qualified Google Cloud Pub/Sub API topic name to publish the events to. This topic name **must** already exist in Cloud Pub/Sub and you **must** have already granted gmail "publish" permission on it. For example, "projects/my-project-identifier/topics/my-topic-name" (using the Cloud Pub/Sub "v1" topic naming format).
            #
            # Note that the "my-project-identifier" portion must exactly match your Google developer project id (the one executing this watch request).
        "labelFilterAction": "A String", # Filtering behavior of labelIds list specified.
      }

    Returns:
      An object of the form:

        { # Push notification watch response.
        "expiration": "A String", # When Gmail will stop sending notifications for mailbox updates (epoch millis). Call watch again before this time to renew the watch.
        "historyId": "A String", # The ID of the mailbox's current history record.
      }