class Google::Apis::GmailV1::GmailService

Gmail API

Access Gmail mailboxes including sending user email.

@example

require 'google/apis/gmail_v1'

Gmail = Google::Apis::GmailV1 # Alias the module
service = Gmail::GmailService.new

@see developers.google.com/gmail/api/

Attributes

key[RW]

@return [String]

API key. Your API key identifies your project and provides you with API access,
quota, and reports. Required unless you provide an OAuth 2.0 token.
quota_user[RW]

@return [String]

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.
user_ip[RW]

@return [String]

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

Public Class Methods

new() click to toggle source
Calls superclass method Google::Apis::Core::BaseService.new
# File generated/google/apis/gmail_v1/service.rb, line 51
def initialize
  super('https://www.googleapis.com/', 'gmail/v1/users/')
end

Public Instance Methods

batch_delete_messages(user_id, batch_delete_messages_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::BatchDeleteMessagesRequest] batch_delete_messages_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [NilClass] No result returned for this method @yieldparam err [StandardError] error object if request failed

@return [void]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 761
def batch_delete_messages(user_id, batch_delete_messages_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/messages/batchDelete', options)
  command.request_representation = Google::Apis::GmailV1::BatchDeleteMessagesRequest::Representation
  command.request_object = batch_delete_messages_request_object
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
create_user_draft(user_id, draft_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) click to toggle source

Creates a new draft with the DRAFT label. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::Draft] draft_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [IO, String] upload_source

IO stream or filename containing content to upload

@param [String] content_type

Content type of the uploaded content.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Draft] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Draft]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 194
def create_user_draft(user_id, draft_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
  if upload_source.nil?
    command =  make_simple_command(:post, '{userId}/drafts', options)
  else
    command = make_upload_command(:post, '{userId}/drafts', options)
    command.upload_source = upload_source
    command.upload_content_type = content_type
  end
  command.request_representation = Google::Apis::GmailV1::Draft::Representation
  command.request_object = draft_object
  command.response_representation = Google::Apis::GmailV1::Draft::Representation
  command.response_class = Google::Apis::GmailV1::Draft
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
create_user_label(user_id, label_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Creates a new label. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::Label] label_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Label] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Label]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 524
def create_user_label(user_id, label_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/labels', options)
  command.request_representation = Google::Apis::GmailV1::Label::Representation
  command.request_object = label_object
  command.response_representation = Google::Apis::GmailV1::Label::Representation
  command.response_class = Google::Apis::GmailV1::Label
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
delete_user_draft(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Immediately and permanently deletes the specified draft. Does not simply trash it. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the draft to delete.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [NilClass] No result returned for this method @yieldparam err [StandardError] error object if request failed

@return [void]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 241
def delete_user_draft(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:delete, '{userId}/drafts/{id}', options)
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
delete_user_label(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the label to delete.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [NilClass] No result returned for this method @yieldparam err [StandardError] error object if request failed

@return [void]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 565
def delete_user_label(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:delete, '{userId}/labels/{id}', options)
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
delete_user_message(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer messages.trash instead. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the message to delete.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [NilClass] No result returned for this method @yieldparam err [StandardError] error object if request failed

@return [void]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 800
def delete_user_message(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:delete, '{userId}/messages/{id}', options)
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
delete_user_thread(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Immediately and permanently deletes the specified thread. This operation cannot be undone. Prefer threads.trash instead. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

ID of the Thread to delete.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [NilClass] No result returned for this method @yieldparam err [StandardError] error object if request failed

@return [void]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1272
def delete_user_thread(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:delete, '{userId}/threads/{id}', options)
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
get_user_draft(user_id, id, format: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Gets the specified draft. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the draft to retrieve.

@param [String] format

The format to return the draft in.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Draft] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Draft]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 280
def get_user_draft(user_id, id, format: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/drafts/{id}', options)
  command.response_representation = Google::Apis::GmailV1::Draft::Representation
  command.response_class = Google::Apis::GmailV1::Draft
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['format'] = format unless format.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
get_user_label(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Gets the specified label. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the label to retrieve.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Label] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Label]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 602
def get_user_label(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/labels/{id}', options)
  command.response_representation = Google::Apis::GmailV1::Label::Representation
  command.response_class = Google::Apis::GmailV1::Label
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
get_user_message(user_id, id, format: nil, metadata_headers: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Gets the specified message. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the message to retrieve.

@param [String] format

The format to return the message in.

@param [Array<String>, String] metadata_headers

When given and format is METADATA, only include headers specified.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 841
def get_user_message(user_id, id, format: nil, metadata_headers: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/messages/{id}', options)
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['format'] = format unless format.nil?
  command.query['metadataHeaders'] = metadata_headers unless metadata_headers.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
get_user_message_attachment(user_id, message_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Gets the specified message attachment. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] message_id

The ID of the message containing the attachment.

@param [String] id

The ID of the attachment.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::MessagePartBody] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::MessagePartBody]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1231
def get_user_message_attachment(user_id, message_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/messages/{messageId}/attachments/{id}', options)
  command.response_representation = Google::Apis::GmailV1::MessagePartBody::Representation
  command.response_class = Google::Apis::GmailV1::MessagePartBody
  command.params['userId'] = user_id unless user_id.nil?
  command.params['messageId'] = message_id unless message_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
get_user_profile(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Gets the current user's Gmail profile. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Profile] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Profile]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 80
def get_user_profile(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/profile', options)
  command.response_representation = Google::Apis::GmailV1::Profile::Representation
  command.response_class = Google::Apis::GmailV1::Profile
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
get_user_thread(user_id, id, format: nil, metadata_headers: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Gets the specified thread. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the thread to retrieve.

@param [String] format

The format to return the messages in.

@param [Array<String>, String] metadata_headers

When given and format is METADATA, only include headers specified.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Thread] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Thread]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1313
def get_user_thread(user_id, id, format: nil, metadata_headers: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/threads/{id}', options)
  command.response_representation = Google::Apis::GmailV1::Thread::Representation
  command.response_class = Google::Apis::GmailV1::Thread
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['format'] = format unless format.nil?
  command.query['metadataHeaders'] = metadata_headers unless metadata_headers.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
import_user_message(user_id, message_object = nil, deleted: nil, internal_date_source: nil, never_mark_spam: nil, process_for_calendar: nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) click to toggle source

Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::Message] message_object @param [Boolean] deleted

Mark the email as permanently deleted (not TRASH) and only visible in Google
Apps Vault to a Vault administrator. Only used for Google Apps for Work
accounts.

@param [String] internal_date_source

Source for Gmail's internal date of the message.

@param [Boolean] never_mark_spam

Ignore the Gmail spam classifier decision and never mark this email as SPAM in
the mailbox.

@param [Boolean] process_for_calendar

Process calendar invites in the email and add any extracted meetings to the
Google Calendar for this user.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [IO, String] upload_source

IO stream or filename containing content to upload

@param [String] content_type

Content type of the uploaded content.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 899
def import_user_message(user_id, message_object = nil, deleted: nil, internal_date_source: nil, never_mark_spam: nil, process_for_calendar: nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
  if upload_source.nil?
    command =  make_simple_command(:post, '{userId}/messages/import', options)
  else
    command = make_upload_command(:post, '{userId}/messages/import', options)
    command.upload_source = upload_source
    command.upload_content_type = content_type
  end
  command.request_representation = Google::Apis::GmailV1::Message::Representation
  command.request_object = message_object
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.query['deleted'] = deleted unless deleted.nil?
  command.query['internalDateSource'] = internal_date_source unless internal_date_source.nil?
  command.query['neverMarkSpam'] = never_mark_spam unless never_mark_spam.nil?
  command.query['processForCalendar'] = process_for_calendar unless process_for_calendar.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
insert_user_message(user_id, message_object = nil, deleted: nil, internal_date_source: nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) click to toggle source

Directly inserts a message into only this user's mailbox similar to IMAP APPEND, bypassing most scanning and classification. Does not send a message. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::Message] message_object @param [Boolean] deleted

Mark the email as permanently deleted (not TRASH) and only visible in Google
Apps Vault to a Vault administrator. Only used for Google Apps for Work
accounts.

@param [String] internal_date_source

Source for Gmail's internal date of the message.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [IO, String] upload_source

IO stream or filename containing content to upload

@param [String] content_type

Content type of the uploaded content.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 959
def insert_user_message(user_id, message_object = nil, deleted: nil, internal_date_source: nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
  if upload_source.nil?
    command =  make_simple_command(:post, '{userId}/messages', options)
  else
    command = make_upload_command(:post, '{userId}/messages', options)
    command.upload_source = upload_source
    command.upload_content_type = content_type
  end
  command.request_representation = Google::Apis::GmailV1::Message::Representation
  command.request_object = message_object
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.query['deleted'] = deleted unless deleted.nil?
  command.query['internalDateSource'] = internal_date_source unless internal_date_source.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_user_drafts(user_id, include_spam_trash: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Lists the drafts in the user's mailbox. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Boolean] include_spam_trash

Include drafts from SPAM and TRASH in the results.

@param [Fixnum] max_results

Maximum number of drafts to return.

@param [String] page_token

Page token to retrieve a specific page of results in the list.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::ListDraftsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::ListDraftsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 324
def list_user_drafts(user_id, include_spam_trash: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/drafts', options)
  command.response_representation = Google::Apis::GmailV1::ListDraftsResponse::Representation
  command.response_class = Google::Apis::GmailV1::ListDraftsResponse
  command.params['userId'] = user_id unless user_id.nil?
  command.query['includeSpamTrash'] = include_spam_trash unless include_spam_trash.nil?
  command.query['maxResults'] = max_results unless max_results.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_user_histories(user_id, label_id: nil, max_results: nil, page_token: nil, start_history_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Lists the history of all changes to the given mailbox. History results are returned in chronological order (increasing historyId). @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] label_id

Only return messages with a label matching the ID.

@param [Fixnum] max_results

The maximum number of history records to return.

@param [String] page_token

Page token to retrieve a specific page of results in the list.

@param [String] start_history_id

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.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::ListHistoryResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::ListHistoryResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 483
def list_user_histories(user_id, label_id: nil, max_results: nil, page_token: nil, start_history_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/history', options)
  command.response_representation = Google::Apis::GmailV1::ListHistoryResponse::Representation
  command.response_class = Google::Apis::GmailV1::ListHistoryResponse
  command.params['userId'] = user_id unless user_id.nil?
  command.query['labelId'] = label_id unless label_id.nil?
  command.query['maxResults'] = max_results unless max_results.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['startHistoryId'] = start_history_id unless start_history_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_user_labels(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Lists all labels in the user's mailbox. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::ListLabelsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::ListLabelsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 639
def list_user_labels(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/labels', options)
  command.response_representation = Google::Apis::GmailV1::ListLabelsResponse::Representation
  command.response_class = Google::Apis::GmailV1::ListLabelsResponse
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_user_messages(user_id, include_spam_trash: nil, label_ids: nil, max_results: nil, page_token: nil, q: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Lists the messages in the user's mailbox. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Boolean] include_spam_trash

Include messages from SPAM and TRASH in the results.

@param [Array<String>, String] label_ids

Only return messages with labels that match all of the specified label IDs.

@param [Fixnum] max_results

Maximum number of messages to return.

@param [String] page_token

Page token to retrieve a specific page of results in the list.

@param [String] q

Only return messages matching the specified query. Supports the same query
format as the Gmail search box. For example, "from:someuser@example.com
rfc822msgid: is:unread".

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::ListMessagesResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::ListMessagesResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1017
def list_user_messages(user_id, include_spam_trash: nil, label_ids: nil, max_results: nil, page_token: nil, q: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/messages', options)
  command.response_representation = Google::Apis::GmailV1::ListMessagesResponse::Representation
  command.response_class = Google::Apis::GmailV1::ListMessagesResponse
  command.params['userId'] = user_id unless user_id.nil?
  command.query['includeSpamTrash'] = include_spam_trash unless include_spam_trash.nil?
  command.query['labelIds'] = label_ids unless label_ids.nil?
  command.query['maxResults'] = max_results unless max_results.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['q'] = q unless q.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_user_threads(user_id, include_spam_trash: nil, label_ids: nil, max_results: nil, page_token: nil, q: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Lists the threads in the user's mailbox. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Boolean] include_spam_trash

Include threads from SPAM and TRASH in the results.

@param [Array<String>, String] label_ids

Only return threads with labels that match all of the specified label IDs.

@param [Fixnum] max_results

Maximum number of threads to return.

@param [String] page_token

Page token to retrieve a specific page of results in the list.

@param [String] q

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".

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::ListThreadsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::ListThreadsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1364
def list_user_threads(user_id, include_spam_trash: nil, label_ids: nil, max_results: nil, page_token: nil, q: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{userId}/threads', options)
  command.response_representation = Google::Apis::GmailV1::ListThreadsResponse::Representation
  command.response_class = Google::Apis::GmailV1::ListThreadsResponse
  command.params['userId'] = user_id unless user_id.nil?
  command.query['includeSpamTrash'] = include_spam_trash unless include_spam_trash.nil?
  command.query['labelIds'] = label_ids unless label_ids.nil?
  command.query['maxResults'] = max_results unless max_results.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['q'] = q unless q.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
modify_message(user_id, id, modify_message_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Modifies the labels on the specified message. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the message to modify.

@param [Google::Apis::GmailV1::ModifyMessageRequest] modify_message_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1061
def modify_message(user_id, id, modify_message_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/messages/{id}/modify', options)
  command.request_representation = Google::Apis::GmailV1::ModifyMessageRequest::Representation
  command.request_object = modify_message_request_object
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
modify_thread(user_id, id, modify_thread_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Modifies the labels applied to the thread. This applies to all messages in the thread. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the thread to modify.

@param [Google::Apis::GmailV1::ModifyThreadRequest] modify_thread_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Thread] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Thread]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1409
def modify_thread(user_id, id, modify_thread_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/threads/{id}/modify', options)
  command.request_representation = Google::Apis::GmailV1::ModifyThreadRequest::Representation
  command.request_object = modify_thread_request_object
  command.response_representation = Google::Apis::GmailV1::Thread::Representation
  command.response_class = Google::Apis::GmailV1::Thread
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
patch_user_label(user_id, id, label_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Updates the specified label. This method supports patch semantics. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the label to update.

@param [Google::Apis::GmailV1::Label] label_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Label] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Label]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 678
def patch_user_label(user_id, id, label_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:patch, '{userId}/labels/{id}', options)
  command.request_representation = Google::Apis::GmailV1::Label::Representation
  command.request_object = label_object
  command.response_representation = Google::Apis::GmailV1::Label::Representation
  command.response_class = Google::Apis::GmailV1::Label
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
send_user_draft(user_id, draft_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) click to toggle source

Sends the specified, existing draft to the recipients in the To, Cc, and Bcc headers. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::Draft] draft_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [IO, String] upload_source

IO stream or filename containing content to upload

@param [String] content_type

Content type of the uploaded content.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 369
def send_user_draft(user_id, draft_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
  if upload_source.nil?
    command =  make_simple_command(:post, '{userId}/drafts/send', options)
  else
    command = make_upload_command(:post, '{userId}/drafts/send', options)
    command.upload_source = upload_source
    command.upload_content_type = content_type
  end
  command.request_representation = Google::Apis::GmailV1::Draft::Representation
  command.request_object = draft_object
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
send_user_message(user_id, message_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) click to toggle source

Sends the specified message to the recipients in the To, Cc, and Bcc headers. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::Message] message_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [IO, String] upload_source

IO stream or filename containing content to upload

@param [String] content_type

Content type of the uploaded content.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1105
def send_user_message(user_id, message_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
  if upload_source.nil?
    command =  make_simple_command(:post, '{userId}/messages/send', options)
  else
    command = make_upload_command(:post, '{userId}/messages/send', options)
    command.upload_source = upload_source
    command.upload_content_type = content_type
  end
  command.request_representation = Google::Apis::GmailV1::Message::Representation
  command.request_object = message_object
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
stop_user(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Stop receiving push notifications for the given user mailbox. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [NilClass] No result returned for this method @yieldparam err [StandardError] error object if request failed

@return [void]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 116
def stop_user(user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/stop', options)
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
trash_user_message(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Moves the specified message to the trash. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the message to Trash.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1151
def trash_user_message(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/messages/{id}/trash', options)
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
trash_user_thread(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Moves the specified thread to the trash. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the thread to Trash.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Thread] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Thread]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1450
def trash_user_thread(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/threads/{id}/trash', options)
  command.response_representation = Google::Apis::GmailV1::Thread::Representation
  command.response_class = Google::Apis::GmailV1::Thread
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
untrash_user_message(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Removes the specified message from the trash. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the message to remove from Trash.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Message] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Message]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1190
def untrash_user_message(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/messages/{id}/untrash', options)
  command.response_representation = Google::Apis::GmailV1::Message::Representation
  command.response_class = Google::Apis::GmailV1::Message
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
untrash_user_thread(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Removes the specified thread from the trash. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the thread to remove from Trash.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Thread] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Thread]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 1489
def untrash_user_thread(user_id, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/threads/{id}/untrash', options)
  command.response_representation = Google::Apis::GmailV1::Thread::Representation
  command.response_class = Google::Apis::GmailV1::Thread
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
update_user_draft(user_id, id, draft_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block) click to toggle source

Replaces a draft's content. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the draft to update.

@param [Google::Apis::GmailV1::Draft] draft_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [IO, String] upload_source

IO stream or filename containing content to upload

@param [String] content_type

Content type of the uploaded content.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Draft] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Draft]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 420
def update_user_draft(user_id, id, draft_object = nil, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
  if upload_source.nil?
    command =  make_simple_command(:put, '{userId}/drafts/{id}', options)
  else
    command = make_upload_command(:put, '{userId}/drafts/{id}', options)
    command.upload_source = upload_source
    command.upload_content_type = content_type
  end
  command.request_representation = Google::Apis::GmailV1::Draft::Representation
  command.request_object = draft_object
  command.response_representation = Google::Apis::GmailV1::Draft::Representation
  command.response_class = Google::Apis::GmailV1::Draft
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
update_user_label(user_id, id, label_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Updates the specified label. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [String] id

The ID of the label to update.

@param [Google::Apis::GmailV1::Label] label_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::Label] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::Label]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 720
def update_user_label(user_id, id, label_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:put, '{userId}/labels/{id}', options)
  command.request_representation = Google::Apis::GmailV1::Label::Representation
  command.request_object = label_object
  command.response_representation = Google::Apis::GmailV1::Label::Representation
  command.response_class = Google::Apis::GmailV1::Label
  command.params['userId'] = user_id unless user_id.nil?
  command.params['id'] = id unless id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
watch_user(user_id, watch_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Set up or update a push notification watch on the given user mailbox. @param [String] user_id

The user's email address. The special value me can be used to indicate the
authenticated user.

@param [Google::Apis::GmailV1::WatchRequest] watch_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::GmailV1::WatchResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::GmailV1::WatchResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/gmail_v1/service.rb, line 151
def watch_user(user_id, watch_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{userId}/watch', options)
  command.request_representation = Google::Apis::GmailV1::WatchRequest::Representation
  command.request_object = watch_request_object
  command.response_representation = Google::Apis::GmailV1::WatchResponse::Representation
  command.response_class = Google::Apis::GmailV1::WatchResponse
  command.params['userId'] = user_id unless user_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end

Protected Instance Methods

apply_command_defaults(command) click to toggle source
# File generated/google/apis/gmail_v1/service.rb, line 1503
def apply_command_defaults(command)
  command.query['key'] = key unless key.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
end