1675 lines
65 KiB
Ruby
1675 lines
65 KiB
Ruby
# Copyright 2015 Google Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
require 'date'
|
|
require 'google/apis/core/base_service'
|
|
require 'google/apis/core/json_representation'
|
|
require 'google/apis/core/hashable'
|
|
require 'google/apis/errors'
|
|
|
|
module Google
|
|
module Apis
|
|
module GmailV1
|
|
|
|
# Auto-forwarding settings for an account.
|
|
class AutoForwarding
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The state that a message should be left in after it has been forwarded.
|
|
# Corresponds to the JSON property `disposition`
|
|
# @return [String]
|
|
attr_accessor :disposition
|
|
|
|
# Email address to which all incoming messages are forwarded. This email
|
|
# address must be a verified member of the forwarding addresses.
|
|
# Corresponds to the JSON property `emailAddress`
|
|
# @return [String]
|
|
attr_accessor :email_address
|
|
|
|
# Whether all incoming mail is automatically forwarded to another address.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disposition = args[:disposition] if args.key?(:disposition)
|
|
@email_address = args[:email_address] if args.key?(:email_address)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BatchDeleteMessagesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IDs of the messages to delete.
|
|
# Corresponds to the JSON property `ids`
|
|
# @return [Array<String>]
|
|
attr_accessor :ids
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ids = args[:ids] if args.key?(:ids)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BatchModifyMessagesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of label IDs to add to messages.
|
|
# Corresponds to the JSON property `addLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :add_label_ids
|
|
|
|
# The IDs of the messages to modify. There is a limit of 1000 ids per
|
|
# request.
|
|
# Corresponds to the JSON property `ids`
|
|
# @return [Array<String>]
|
|
attr_accessor :ids
|
|
|
|
# A list of label IDs to remove from messages.
|
|
# Corresponds to the JSON property `removeLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :remove_label_ids
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@add_label_ids = args[:add_label_ids] if args.key?(:add_label_ids)
|
|
@ids = args[:ids] if args.key?(:ids)
|
|
@remove_label_ids = args[:remove_label_ids] if args.key?(:remove_label_ids)
|
|
end
|
|
end
|
|
|
|
# Settings for a delegate. Delegates can read, send, and delete messages, as
|
|
# well as view and add contacts, for the delegator's account. See
|
|
# <a href="https://support.google.com/mail/answer/138350">"Set up
|
|
# mail delegation"</a> for more information about delegates.
|
|
class Delegate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The email address of the delegate.
|
|
# Corresponds to the JSON property `delegateEmail`
|
|
# @return [String]
|
|
attr_accessor :delegate_email
|
|
|
|
# Indicates whether this address has been verified and can act as a delegate
|
|
# for the account. Read-only.
|
|
# Corresponds to the JSON property `verificationStatus`
|
|
# @return [String]
|
|
attr_accessor :verification_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@delegate_email = args[:delegate_email] if args.key?(:delegate_email)
|
|
@verification_status = args[:verification_status] if args.key?(:verification_status)
|
|
end
|
|
end
|
|
|
|
# A draft email in the user's mailbox.
|
|
class Draft
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The immutable ID of the draft.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# An email message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [Google::Apis::GmailV1::Message]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
# Resource definition for Gmail filters. Filters apply to specific messages
|
|
# instead of an entire email thread.
|
|
class Filter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A set of actions to perform on a message.
|
|
# Corresponds to the JSON property `action`
|
|
# @return [Google::Apis::GmailV1::FilterAction]
|
|
attr_accessor :action
|
|
|
|
# Message matching criteria.
|
|
# Corresponds to the JSON property `criteria`
|
|
# @return [Google::Apis::GmailV1::FilterCriteria]
|
|
attr_accessor :criteria
|
|
|
|
# The server assigned ID of the filter.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@action = args[:action] if args.key?(:action)
|
|
@criteria = args[:criteria] if args.key?(:criteria)
|
|
@id = args[:id] if args.key?(:id)
|
|
end
|
|
end
|
|
|
|
# A set of actions to perform on a message.
|
|
class FilterAction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of labels to add to the message.
|
|
# Corresponds to the JSON property `addLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :add_label_ids
|
|
|
|
# Email address that the message should be forwarded to.
|
|
# Corresponds to the JSON property `forward`
|
|
# @return [String]
|
|
attr_accessor :forward
|
|
|
|
# List of labels to remove from the message.
|
|
# Corresponds to the JSON property `removeLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :remove_label_ids
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@add_label_ids = args[:add_label_ids] if args.key?(:add_label_ids)
|
|
@forward = args[:forward] if args.key?(:forward)
|
|
@remove_label_ids = args[:remove_label_ids] if args.key?(:remove_label_ids)
|
|
end
|
|
end
|
|
|
|
# Message matching criteria.
|
|
class FilterCriteria
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the response should exclude chats.
|
|
# Corresponds to the JSON property `excludeChats`
|
|
# @return [Boolean]
|
|
attr_accessor :exclude_chats
|
|
alias_method :exclude_chats?, :exclude_chats
|
|
|
|
# The sender's display name or email address.
|
|
# Corresponds to the JSON property `from`
|
|
# @return [String]
|
|
attr_accessor :from
|
|
|
|
# Whether the message has any attachment.
|
|
# Corresponds to the JSON property `hasAttachment`
|
|
# @return [Boolean]
|
|
attr_accessor :has_attachment
|
|
alias_method :has_attachment?, :has_attachment
|
|
|
|
# Only return messages not 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>.
|
|
# Corresponds to the JSON property `negatedQuery`
|
|
# @return [String]
|
|
attr_accessor :negated_query
|
|
|
|
# Only return messages 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>.
|
|
# Corresponds to the JSON property `query`
|
|
# @return [String]
|
|
attr_accessor :query
|
|
|
|
# The size of the entire RFC822 message in bytes, including all headers and
|
|
# attachments.
|
|
# Corresponds to the JSON property `size`
|
|
# @return [Fixnum]
|
|
attr_accessor :size
|
|
|
|
# How the message size in bytes should be in relation to the size field.
|
|
# Corresponds to the JSON property `sizeComparison`
|
|
# @return [String]
|
|
attr_accessor :size_comparison
|
|
|
|
# Case-insensitive phrase found in the message's subject. Trailing and
|
|
# leading whitespace are be trimmed and adjacent spaces are collapsed.
|
|
# Corresponds to the JSON property `subject`
|
|
# @return [String]
|
|
attr_accessor :subject
|
|
|
|
# The recipient's display name or email address. Includes recipients in the
|
|
# "to", "cc", and "bcc" header fields. You can use simply the local part of
|
|
# the email address. For example, "example" and "example@" both match
|
|
# "example@gmail.com". This field is case-insensitive.
|
|
# Corresponds to the JSON property `to`
|
|
# @return [String]
|
|
attr_accessor :to
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@exclude_chats = args[:exclude_chats] if args.key?(:exclude_chats)
|
|
@from = args[:from] if args.key?(:from)
|
|
@has_attachment = args[:has_attachment] if args.key?(:has_attachment)
|
|
@negated_query = args[:negated_query] if args.key?(:negated_query)
|
|
@query = args[:query] if args.key?(:query)
|
|
@size = args[:size] if args.key?(:size)
|
|
@size_comparison = args[:size_comparison] if args.key?(:size_comparison)
|
|
@subject = args[:subject] if args.key?(:subject)
|
|
@to = args[:to] if args.key?(:to)
|
|
end
|
|
end
|
|
|
|
# Settings for a forwarding address.
|
|
class ForwardingAddress
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An email address to which messages can be forwarded.
|
|
# Corresponds to the JSON property `forwardingEmail`
|
|
# @return [String]
|
|
attr_accessor :forwarding_email
|
|
|
|
# Indicates whether this address has been verified and is usable for
|
|
# forwarding. Read-only.
|
|
# Corresponds to the JSON property `verificationStatus`
|
|
# @return [String]
|
|
attr_accessor :verification_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@forwarding_email = args[:forwarding_email] if args.key?(:forwarding_email)
|
|
@verification_status = args[:verification_status] if args.key?(:verification_status)
|
|
end
|
|
end
|
|
|
|
# A record of a change to the user's mailbox. Each history change may affect
|
|
# multiple messages in multiple ways.
|
|
class History
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The mailbox sequence ID.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Labels added to messages in this history record.
|
|
# Corresponds to the JSON property `labelsAdded`
|
|
# @return [Array<Google::Apis::GmailV1::HistoryLabelAdded>]
|
|
attr_accessor :labels_added
|
|
|
|
# Labels removed from messages in this history record.
|
|
# Corresponds to the JSON property `labelsRemoved`
|
|
# @return [Array<Google::Apis::GmailV1::HistoryLabelRemoved>]
|
|
attr_accessor :labels_removed
|
|
|
|
# List of messages changed in this history record. The fields for specific
|
|
# change types, such as <code>messagesAdded</code> may duplicate messages in
|
|
# this field. We recommend using the specific change-type fields instead
|
|
# of this.
|
|
# Corresponds to the JSON property `messages`
|
|
# @return [Array<Google::Apis::GmailV1::Message>]
|
|
attr_accessor :messages
|
|
|
|
# Messages added to the mailbox in this history record.
|
|
# Corresponds to the JSON property `messagesAdded`
|
|
# @return [Array<Google::Apis::GmailV1::HistoryMessageAdded>]
|
|
attr_accessor :messages_added
|
|
|
|
# Messages deleted (not Trashed) from the mailbox in this history record.
|
|
# Corresponds to the JSON property `messagesDeleted`
|
|
# @return [Array<Google::Apis::GmailV1::HistoryMessageDeleted>]
|
|
attr_accessor :messages_deleted
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@labels_added = args[:labels_added] if args.key?(:labels_added)
|
|
@labels_removed = args[:labels_removed] if args.key?(:labels_removed)
|
|
@messages = args[:messages] if args.key?(:messages)
|
|
@messages_added = args[:messages_added] if args.key?(:messages_added)
|
|
@messages_deleted = args[:messages_deleted] if args.key?(:messages_deleted)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HistoryLabelAdded
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Label IDs added to the message.
|
|
# Corresponds to the JSON property `labelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :label_ids
|
|
|
|
# An email message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [Google::Apis::GmailV1::Message]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_ids = args[:label_ids] if args.key?(:label_ids)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HistoryLabelRemoved
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Label IDs removed from the message.
|
|
# Corresponds to the JSON property `labelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :label_ids
|
|
|
|
# An email message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [Google::Apis::GmailV1::Message]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_ids = args[:label_ids] if args.key?(:label_ids)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HistoryMessageAdded
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An email message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [Google::Apis::GmailV1::Message]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HistoryMessageDeleted
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An email message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [Google::Apis::GmailV1::Message]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
# IMAP settings for an account.
|
|
class ImapSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this value is true, Gmail will immediately expunge a message when it is
|
|
# marked as deleted in IMAP. Otherwise, Gmail will wait for an update from
|
|
# the client before expunging messages marked as deleted.
|
|
# Corresponds to the JSON property `autoExpunge`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_expunge
|
|
alias_method :auto_expunge?, :auto_expunge
|
|
|
|
# Whether IMAP is enabled for the account.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
# The action that will be executed on a message when it is marked as deleted
|
|
# and expunged from the last visible IMAP folder.
|
|
# Corresponds to the JSON property `expungeBehavior`
|
|
# @return [String]
|
|
attr_accessor :expunge_behavior
|
|
|
|
# An optional limit on the number of messages that an IMAP folder may
|
|
# contain. Legal values are 0, 1000, 2000, 5000 or 10000. A value of zero
|
|
# is interpreted to mean that there is no limit.
|
|
# Corresponds to the JSON property `maxFolderSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_folder_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_expunge = args[:auto_expunge] if args.key?(:auto_expunge)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
@expunge_behavior = args[:expunge_behavior] if args.key?(:expunge_behavior)
|
|
@max_folder_size = args[:max_folder_size] if args.key?(:max_folder_size)
|
|
end
|
|
end
|
|
|
|
# Labels are used to categorize messages and threads within the
|
|
# user's mailbox.
|
|
class Label
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The color to assign to the label. Color is only available for labels that
|
|
# have their <code>type</code> set to <code>user</code>.
|
|
# @mutable gmail.users.labels.create gmail.users.labels.update
|
|
# Corresponds to the JSON property `color`
|
|
# @return [Google::Apis::GmailV1::LabelColor]
|
|
attr_accessor :color
|
|
|
|
# The immutable ID of the label.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# The visibility of the label in the label list in the Gmail web interface.
|
|
# @mutable gmail.users.labels.create gmail.users.labels.update
|
|
# Corresponds to the JSON property `labelListVisibility`
|
|
# @return [String]
|
|
attr_accessor :label_list_visibility
|
|
|
|
# The visibility of the label in the message list in the
|
|
# Gmail web interface.
|
|
# @mutable gmail.users.labels.create gmail.users.labels.update
|
|
# Corresponds to the JSON property `messageListVisibility`
|
|
# @return [String]
|
|
attr_accessor :message_list_visibility
|
|
|
|
# The total number of messages with the label.
|
|
# Corresponds to the JSON property `messagesTotal`
|
|
# @return [Fixnum]
|
|
attr_accessor :messages_total
|
|
|
|
# The number of unread messages with the label.
|
|
# Corresponds to the JSON property `messagesUnread`
|
|
# @return [Fixnum]
|
|
attr_accessor :messages_unread
|
|
|
|
# The display name of the label.
|
|
# @mutable gmail.users.labels.create gmail.users.labels.update
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The total number of threads with the label.
|
|
# Corresponds to the JSON property `threadsTotal`
|
|
# @return [Fixnum]
|
|
attr_accessor :threads_total
|
|
|
|
# The number of unread threads with the label.
|
|
# Corresponds to the JSON property `threadsUnread`
|
|
# @return [Fixnum]
|
|
attr_accessor :threads_unread
|
|
|
|
# The owner type for the label. User labels are created by the user and
|
|
# can be modified and deleted by the user and can be applied to any
|
|
# message or thread. System labels are internally created and cannot be
|
|
# added, modified, or deleted. System labels may be able to be applied to or
|
|
# removed from messages and threads under some circumstances but this is
|
|
# not guaranteed. For example, users can apply and remove the
|
|
# <code>INBOX</code> and <code>UNREAD</code> labels from messages and
|
|
# threads, but cannot apply or remove the <code>DRAFTS</code> or
|
|
# <code>SENT</code> labels from messages or threads.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@color = args[:color] if args.key?(:color)
|
|
@id = args[:id] if args.key?(:id)
|
|
@label_list_visibility = args[:label_list_visibility] if args.key?(:label_list_visibility)
|
|
@message_list_visibility = args[:message_list_visibility] if args.key?(:message_list_visibility)
|
|
@messages_total = args[:messages_total] if args.key?(:messages_total)
|
|
@messages_unread = args[:messages_unread] if args.key?(:messages_unread)
|
|
@name = args[:name] if args.key?(:name)
|
|
@threads_total = args[:threads_total] if args.key?(:threads_total)
|
|
@threads_unread = args[:threads_unread] if args.key?(:threads_unread)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class LabelColor
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The background color represented as hex string #RRGGBB (ex #000000).
|
|
# This field is required in order to set the color of a label.
|
|
# Only the following predefined set of color values are allowed:
|
|
# <br/>
|
|
# # 000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff,
|
|
# # fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3,
|
|
# # f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8,
|
|
# # efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9,
|
|
# # e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0,
|
|
# # cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798,
|
|
# # ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775,
|
|
# # 822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c
|
|
# # 464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff,
|
|
# # 711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5,
|
|
# # 594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1,
|
|
# # c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46,
|
|
# # 662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765
|
|
# @mutable gmail.users.labels.create gmail.users.labels.update
|
|
# Corresponds to the JSON property `backgroundColor`
|
|
# @return [String]
|
|
attr_accessor :background_color
|
|
|
|
# The text color of the label, represented as hex string.
|
|
# This field is required in order to set the color of a label.
|
|
# Only the following predefined set of color values are allowed:
|
|
# <br/>
|
|
# # 000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff,
|
|
# # fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3,
|
|
# # f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8,
|
|
# # efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9,
|
|
# # e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0,
|
|
# # cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798,
|
|
# # ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775,
|
|
# # 822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c
|
|
# # 464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff,
|
|
# # 711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5,
|
|
# # 594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1,
|
|
# # c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46,
|
|
# # 662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765
|
|
# @mutable gmail.users.labels.create gmail.users.labels.update
|
|
# Corresponds to the JSON property `textColor`
|
|
# @return [String]
|
|
attr_accessor :text_color
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@background_color = args[:background_color] if args.key?(:background_color)
|
|
@text_color = args[:text_color] if args.key?(:text_color)
|
|
end
|
|
end
|
|
|
|
# Language settings for an account. These settings correspond to
|
|
# the <a href="https://support.google.com/mail/answer/17091">"Language
|
|
# settings"</a> feature in the web interface.
|
|
class LanguageSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The language to display Gmail in, formatted as an
|
|
# <a href="https://www.w3.org/International/articles/language-tags/">RFC 3066
|
|
# Language Tag</a> (for example <code>en-GB</code>, <code>fr</code> or
|
|
# <code>ja</code> for British English, French, or Japanese respectively).
|
|
# The set of languages supported by Gmail evolves over time, so please refer
|
|
# to the "Language" dropdown in the
|
|
# <a href="https://mail.google.com/mail/u/0/#settings/general">Gmail settings
|
|
# </a> for all available options, as described in the
|
|
# <a href="https://support.google.com/mail/answer/17091">language settings
|
|
# help article</a>. A table of sample values is also provided in the
|
|
# <a href="/gmail/api/guides/language_settings#display_language">Managing
|
|
# Language Settings guide</a>
|
|
# Not all Gmail clients can display the same set of languages. In the case
|
|
# that a user's display language is not available for use on a particular
|
|
# client, said client automatically chooses to display in the closest
|
|
# supported variant (or a reasonable default).
|
|
# Corresponds to the JSON property `displayLanguage`
|
|
# @return [String]
|
|
attr_accessor :display_language
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@display_language = args[:display_language] if args.key?(:display_language)
|
|
end
|
|
end
|
|
|
|
# Response for the ListDelegates method.
|
|
class ListDelegatesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of the user's delegates (with any verification status).
|
|
# Corresponds to the JSON property `delegates`
|
|
# @return [Array<Google::Apis::GmailV1::Delegate>]
|
|
attr_accessor :delegates
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@delegates = args[:delegates] if args.key?(:delegates)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListDraftsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of drafts. Note that the <code>Message</code> property in each
|
|
# <code>Draft</code> resource only contains an <code>id</code> and a
|
|
# <code>threadId</code>. The
|
|
# <a href="/gmail/api/v1/reference/users/messages/get">messages.get</a>
|
|
# method can fetch additional message details.
|
|
# Corresponds to the JSON property `drafts`
|
|
# @return [Array<Google::Apis::GmailV1::Draft>]
|
|
attr_accessor :drafts
|
|
|
|
# Token to retrieve the next page of results in the list.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# Estimated total number of results.
|
|
# Corresponds to the JSON property `resultSizeEstimate`
|
|
# @return [Fixnum]
|
|
attr_accessor :result_size_estimate
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@drafts = args[:drafts] if args.key?(:drafts)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@result_size_estimate = args[:result_size_estimate] if args.key?(:result_size_estimate)
|
|
end
|
|
end
|
|
|
|
# Response for the ListFilters method.
|
|
class ListFiltersResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of a user's filters.
|
|
# Corresponds to the JSON property `filter`
|
|
# @return [Array<Google::Apis::GmailV1::Filter>]
|
|
attr_accessor :filter
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@filter = args[:filter] if args.key?(:filter)
|
|
end
|
|
end
|
|
|
|
# Response for the ListForwardingAddresses method.
|
|
class ListForwardingAddressesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of addresses that may be used for forwarding.
|
|
# Corresponds to the JSON property `forwardingAddresses`
|
|
# @return [Array<Google::Apis::GmailV1::ForwardingAddress>]
|
|
attr_accessor :forwarding_addresses
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@forwarding_addresses = args[:forwarding_addresses] if args.key?(:forwarding_addresses)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListHistoryResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of history records. Any <code>messages</code> contained in the
|
|
# response will typically only have <code>id</code> and
|
|
# <code>threadId</code> fields populated.
|
|
# Corresponds to the JSON property `history`
|
|
# @return [Array<Google::Apis::GmailV1::History>]
|
|
attr_accessor :history
|
|
|
|
# The ID of the mailbox's current history record.
|
|
# Corresponds to the JSON property `historyId`
|
|
# @return [Fixnum]
|
|
attr_accessor :history_id
|
|
|
|
# Page token to retrieve the next page of results in the list.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@history = args[:history] if args.key?(:history)
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListLabelsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of labels. Note that each label resource only contains an
|
|
# <code>id</code>, <code>name</code>, <code>messageListVisibility</code>,
|
|
# <code>labelListVisibility</code>, and <code>type</code>. The
|
|
# <a href="/gmail/api/v1/reference/users/labels/get">labels.get</a> method
|
|
# can fetch additional label details.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Array<Google::Apis::GmailV1::Label>]
|
|
attr_accessor :labels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListMessagesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of messages. Note that each message resource contains only an
|
|
# <code>id</code> and a <code>threadId</code>. Additional message details can
|
|
# be fetched using the
|
|
# <a href="/gmail/api/v1/reference/users/messages/get">messages.get</a>
|
|
# method.
|
|
# Corresponds to the JSON property `messages`
|
|
# @return [Array<Google::Apis::GmailV1::Message>]
|
|
attr_accessor :messages
|
|
|
|
# Token to retrieve the next page of results in the list.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# Estimated total number of results.
|
|
# Corresponds to the JSON property `resultSizeEstimate`
|
|
# @return [Fixnum]
|
|
attr_accessor :result_size_estimate
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@messages = args[:messages] if args.key?(:messages)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@result_size_estimate = args[:result_size_estimate] if args.key?(:result_size_estimate)
|
|
end
|
|
end
|
|
|
|
# Response for the ListSendAs method.
|
|
class ListSendAsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of send-as aliases.
|
|
# Corresponds to the JSON property `sendAs`
|
|
# @return [Array<Google::Apis::GmailV1::SendAs>]
|
|
attr_accessor :send_as
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@send_as = args[:send_as] if args.key?(:send_as)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListSmimeInfoResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of SmimeInfo.
|
|
# Corresponds to the JSON property `smimeInfo`
|
|
# @return [Array<Google::Apis::GmailV1::SmimeInfo>]
|
|
attr_accessor :smime_info
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@smime_info = args[:smime_info] if args.key?(:smime_info)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ListThreadsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Page token to retrieve the next page of results in the list.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# Estimated total number of results.
|
|
# Corresponds to the JSON property `resultSizeEstimate`
|
|
# @return [Fixnum]
|
|
attr_accessor :result_size_estimate
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `threads`
|
|
# @return [Array<Google::Apis::GmailV1::Thread>]
|
|
attr_accessor :threads
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@result_size_estimate = args[:result_size_estimate] if args.key?(:result_size_estimate)
|
|
@threads = args[:threads] if args.key?(:threads)
|
|
end
|
|
end
|
|
|
|
# An email message.
|
|
class Message
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of the last history record that modified this message.
|
|
# Corresponds to the JSON property `historyId`
|
|
# @return [Fixnum]
|
|
attr_accessor :history_id
|
|
|
|
# The immutable ID of the message.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `internalDate`
|
|
# @return [Fixnum]
|
|
attr_accessor :internal_date
|
|
|
|
# List of IDs of labels applied to this message.
|
|
# @mutable gmail.users.messages.insert gmail.users.messages.modify
|
|
# Corresponds to the JSON property `labelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :label_ids
|
|
|
|
# A single MIME message part.
|
|
# Corresponds to the JSON property `payload`
|
|
# @return [Google::Apis::GmailV1::MessagePart]
|
|
attr_accessor :payload
|
|
|
|
# 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
|
|
# Corresponds to the JSON property `raw`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :raw
|
|
|
|
# Estimated size in bytes of the message.
|
|
# Corresponds to the JSON property `sizeEstimate`
|
|
# @return [Fixnum]
|
|
attr_accessor :size_estimate
|
|
|
|
# A short part of the message text.
|
|
# Corresponds to the JSON property `snippet`
|
|
# @return [String]
|
|
attr_accessor :snippet
|
|
|
|
# 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
|
|
# Corresponds to the JSON property `threadId`
|
|
# @return [String]
|
|
attr_accessor :thread_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
@id = args[:id] if args.key?(:id)
|
|
@internal_date = args[:internal_date] if args.key?(:internal_date)
|
|
@label_ids = args[:label_ids] if args.key?(:label_ids)
|
|
@payload = args[:payload] if args.key?(:payload)
|
|
@raw = args[:raw] if args.key?(:raw)
|
|
@size_estimate = args[:size_estimate] if args.key?(:size_estimate)
|
|
@snippet = args[:snippet] if args.key?(:snippet)
|
|
@thread_id = args[:thread_id] if args.key?(:thread_id)
|
|
end
|
|
end
|
|
|
|
# A single MIME message part.
|
|
class MessagePart
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The body of a single MIME message part.
|
|
# Corresponds to the JSON property `body`
|
|
# @return [Google::Apis::GmailV1::MessagePartBody]
|
|
attr_accessor :body
|
|
|
|
# The filename of the attachment. Only present if this message part
|
|
# represents an attachment.
|
|
# Corresponds to the JSON property `filename`
|
|
# @return [String]
|
|
attr_accessor :filename
|
|
|
|
# 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>.
|
|
# Corresponds to the JSON property `headers`
|
|
# @return [Array<Google::Apis::GmailV1::MessagePartHeader>]
|
|
attr_accessor :headers
|
|
|
|
# The MIME type of the message part.
|
|
# Corresponds to the JSON property `mimeType`
|
|
# @return [String]
|
|
attr_accessor :mime_type
|
|
|
|
# The immutable ID of the message part.
|
|
# Corresponds to the JSON property `partId`
|
|
# @return [String]
|
|
attr_accessor :part_id
|
|
|
|
# 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>.
|
|
# Corresponds to the JSON property `parts`
|
|
# @return [Array<Google::Apis::GmailV1::MessagePart>]
|
|
attr_accessor :parts
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@body = args[:body] if args.key?(:body)
|
|
@filename = args[:filename] if args.key?(:filename)
|
|
@headers = args[:headers] if args.key?(:headers)
|
|
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
|
@part_id = args[:part_id] if args.key?(:part_id)
|
|
@parts = args[:parts] if args.key?(:parts)
|
|
end
|
|
end
|
|
|
|
# The body of a single MIME message part.
|
|
class MessagePartBody
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `attachmentId`
|
|
# @return [String]
|
|
attr_accessor :attachment_id
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `data`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :data
|
|
|
|
# Number of bytes for the message part data (encoding notwithstanding).
|
|
# Corresponds to the JSON property `size`
|
|
# @return [Fixnum]
|
|
attr_accessor :size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@attachment_id = args[:attachment_id] if args.key?(:attachment_id)
|
|
@data = args[:data] if args.key?(:data)
|
|
@size = args[:size] if args.key?(:size)
|
|
end
|
|
end
|
|
|
|
#
|
|
class MessagePartHeader
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name of the header before the <code>:</code> separator. For
|
|
# example, <code>To</code>.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The value of the header after the <code>:</code> separator. For example,
|
|
# <code>someuser@example.com</code>.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ModifyMessageRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of IDs of labels to add to this message.
|
|
# Corresponds to the JSON property `addLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :add_label_ids
|
|
|
|
# A list IDs of labels to remove from this message.
|
|
# Corresponds to the JSON property `removeLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :remove_label_ids
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@add_label_ids = args[:add_label_ids] if args.key?(:add_label_ids)
|
|
@remove_label_ids = args[:remove_label_ids] if args.key?(:remove_label_ids)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ModifyThreadRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of IDs of labels to add to this thread.
|
|
# Corresponds to the JSON property `addLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :add_label_ids
|
|
|
|
# A list of IDs of labels to remove from this thread.
|
|
# Corresponds to the JSON property `removeLabelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :remove_label_ids
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@add_label_ids = args[:add_label_ids] if args.key?(:add_label_ids)
|
|
@remove_label_ids = args[:remove_label_ids] if args.key?(:remove_label_ids)
|
|
end
|
|
end
|
|
|
|
# POP settings for an account.
|
|
class PopSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The range of messages which are accessible via POP.
|
|
# Corresponds to the JSON property `accessWindow`
|
|
# @return [String]
|
|
attr_accessor :access_window
|
|
|
|
# The action that will be executed on a message after it has been fetched via
|
|
# POP.
|
|
# Corresponds to the JSON property `disposition`
|
|
# @return [String]
|
|
attr_accessor :disposition
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@access_window = args[:access_window] if args.key?(:access_window)
|
|
@disposition = args[:disposition] if args.key?(:disposition)
|
|
end
|
|
end
|
|
|
|
# Profile for a Gmail user.
|
|
class Profile
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The user's email address.
|
|
# Corresponds to the JSON property `emailAddress`
|
|
# @return [String]
|
|
attr_accessor :email_address
|
|
|
|
# The ID of the mailbox's current history record.
|
|
# Corresponds to the JSON property `historyId`
|
|
# @return [Fixnum]
|
|
attr_accessor :history_id
|
|
|
|
# The total number of messages in the mailbox.
|
|
# Corresponds to the JSON property `messagesTotal`
|
|
# @return [Fixnum]
|
|
attr_accessor :messages_total
|
|
|
|
# The total number of threads in the mailbox.
|
|
# Corresponds to the JSON property `threadsTotal`
|
|
# @return [Fixnum]
|
|
attr_accessor :threads_total
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@email_address = args[:email_address] if args.key?(:email_address)
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
@messages_total = args[:messages_total] if args.key?(:messages_total)
|
|
@threads_total = args[:threads_total] if args.key?(:threads_total)
|
|
end
|
|
end
|
|
|
|
# Settings associated with a send-as alias, which can be either the primary
|
|
# login address associated with the account or a custom "from" address.
|
|
# Send-as aliases correspond to the
|
|
# <a href="https://support.google.com/mail/answer/22370">"Send Mail As"</a>
|
|
# feature in the web interface.
|
|
class SendAs
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A name that appears in the "From:" header for mail sent using this alias.
|
|
# For custom "from" addresses, when this is empty, Gmail will populate the
|
|
# "From:" header with the name that is used for the primary address
|
|
# associated with the account.
|
|
# If the admin has disabled the ability for users to update their name
|
|
# format, requests to update this field for the primary login will silently
|
|
# fail.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# Whether this address is selected as the default "From:" address in
|
|
# situations such as composing a new message or sending a vacation
|
|
# auto-reply. Every Gmail account has exactly one default send-as address,
|
|
# so the only legal value that clients may write to this field is
|
|
# <code>true</code>. Changing this from <code>false</code> to
|
|
# <code>true</code> for an address will result in this field becoming
|
|
# <code>false</code> for the other previous default address.
|
|
# Corresponds to the JSON property `isDefault`
|
|
# @return [Boolean]
|
|
attr_accessor :is_default
|
|
alias_method :is_default?, :is_default
|
|
|
|
# Whether this address is the primary address used to login to the account.
|
|
# Every Gmail account has exactly one primary address, and it cannot be
|
|
# deleted from the collection of send-as aliases. This field is read-only.
|
|
# Corresponds to the JSON property `isPrimary`
|
|
# @return [Boolean]
|
|
attr_accessor :is_primary
|
|
alias_method :is_primary?, :is_primary
|
|
|
|
# An optional email address that is included in a "Reply-To:" header for mail
|
|
# sent using this alias. If this is empty, Gmail will not generate a
|
|
# "Reply-To:" header.
|
|
# Corresponds to the JSON property `replyToAddress`
|
|
# @return [String]
|
|
attr_accessor :reply_to_address
|
|
|
|
# The email address that appears in the "From:" header for mail sent using
|
|
# this alias. This is read-only for all operations except create.
|
|
# Corresponds to the JSON property `sendAsEmail`
|
|
# @return [String]
|
|
attr_accessor :send_as_email
|
|
|
|
# An optional HTML signature that is included in messages composed with this
|
|
# alias in the Gmail web UI.
|
|
# Corresponds to the JSON property `signature`
|
|
# @return [String]
|
|
attr_accessor :signature
|
|
|
|
# Configuration for communication with an SMTP service.
|
|
# Corresponds to the JSON property `smtpMsa`
|
|
# @return [Google::Apis::GmailV1::SmtpMsa]
|
|
attr_accessor :smtp_msa
|
|
|
|
# Whether Gmail should <a href="https://support.google.com/a/answer/1710338">
|
|
# treat this address as an alias</a> for the user's primary email address.
|
|
# This setting only applies to custom "from" aliases.
|
|
# Corresponds to the JSON property `treatAsAlias`
|
|
# @return [Boolean]
|
|
attr_accessor :treat_as_alias
|
|
alias_method :treat_as_alias?, :treat_as_alias
|
|
|
|
# Indicates whether this address has been verified for use as a send-as
|
|
# alias. Read-only. This setting only applies to custom "from" aliases.
|
|
# Corresponds to the JSON property `verificationStatus`
|
|
# @return [String]
|
|
attr_accessor :verification_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@is_default = args[:is_default] if args.key?(:is_default)
|
|
@is_primary = args[:is_primary] if args.key?(:is_primary)
|
|
@reply_to_address = args[:reply_to_address] if args.key?(:reply_to_address)
|
|
@send_as_email = args[:send_as_email] if args.key?(:send_as_email)
|
|
@signature = args[:signature] if args.key?(:signature)
|
|
@smtp_msa = args[:smtp_msa] if args.key?(:smtp_msa)
|
|
@treat_as_alias = args[:treat_as_alias] if args.key?(:treat_as_alias)
|
|
@verification_status = args[:verification_status] if args.key?(:verification_status)
|
|
end
|
|
end
|
|
|
|
# An S/MIME email config.
|
|
class SmimeInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Encrypted key password, when key is encrypted.
|
|
# Corresponds to the JSON property `encryptedKeyPassword`
|
|
# @return [String]
|
|
attr_accessor :encrypted_key_password
|
|
|
|
# When the certificate expires (in milliseconds since epoch).
|
|
# Corresponds to the JSON property `expiration`
|
|
# @return [Fixnum]
|
|
attr_accessor :expiration
|
|
|
|
# The immutable ID for the SmimeInfo.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# Whether this SmimeInfo is the default one for this user's send-as address.
|
|
# Corresponds to the JSON property `isDefault`
|
|
# @return [Boolean]
|
|
attr_accessor :is_default
|
|
alias_method :is_default?, :is_default
|
|
|
|
# The S/MIME certificate issuer's common name.
|
|
# Corresponds to the JSON property `issuerCn`
|
|
# @return [String]
|
|
attr_accessor :issuer_cn
|
|
|
|
# PEM formatted X509 concatenated certificate string (standard base64
|
|
# encoding). Format used for returning key, which includes public key
|
|
# as well as certificate chain (not private key).
|
|
# Corresponds to the JSON property `pem`
|
|
# @return [String]
|
|
attr_accessor :pem
|
|
|
|
# PKCS#12 format containing a single private/public key pair and
|
|
# certificate chain. This format is only accepted from client
|
|
# for creating a new SmimeInfo and is never returned, because the
|
|
# private key is not intended to be exported. PKCS#12 may be encrypted,
|
|
# in which case encryptedKeyPassword should be set appropriately.
|
|
# Corresponds to the JSON property `pkcs12`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :pkcs12
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@encrypted_key_password = args[:encrypted_key_password] if args.key?(:encrypted_key_password)
|
|
@expiration = args[:expiration] if args.key?(:expiration)
|
|
@id = args[:id] if args.key?(:id)
|
|
@is_default = args[:is_default] if args.key?(:is_default)
|
|
@issuer_cn = args[:issuer_cn] if args.key?(:issuer_cn)
|
|
@pem = args[:pem] if args.key?(:pem)
|
|
@pkcs12 = args[:pkcs12] if args.key?(:pkcs12)
|
|
end
|
|
end
|
|
|
|
# Configuration for communication with an SMTP service.
|
|
class SmtpMsa
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The hostname of the SMTP service. Required.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# The password that will be used for authentication with the SMTP service.
|
|
# This is a write-only field that can be specified in requests to create or
|
|
# update SendAs settings; it is never populated in responses.
|
|
# Corresponds to the JSON property `password`
|
|
# @return [String]
|
|
attr_accessor :password
|
|
|
|
# The port of the SMTP service. Required.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# The protocol that will be used to secure communication with the SMTP
|
|
# service. Required.
|
|
# Corresponds to the JSON property `securityMode`
|
|
# @return [String]
|
|
attr_accessor :security_mode
|
|
|
|
# The username that will be used for authentication with the SMTP service.
|
|
# This is a write-only field that can be specified in requests to create or
|
|
# update SendAs settings; it is never populated in responses.
|
|
# Corresponds to the JSON property `username`
|
|
# @return [String]
|
|
attr_accessor :username
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host = args[:host] if args.key?(:host)
|
|
@password = args[:password] if args.key?(:password)
|
|
@port = args[:port] if args.key?(:port)
|
|
@security_mode = args[:security_mode] if args.key?(:security_mode)
|
|
@username = args[:username] if args.key?(:username)
|
|
end
|
|
end
|
|
|
|
# A collection of messages representing a conversation.
|
|
class Thread
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of the last history record that modified this thread.
|
|
# Corresponds to the JSON property `historyId`
|
|
# @return [Fixnum]
|
|
attr_accessor :history_id
|
|
|
|
# The unique ID of the thread.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# The list of messages in the thread.
|
|
# Corresponds to the JSON property `messages`
|
|
# @return [Array<Google::Apis::GmailV1::Message>]
|
|
attr_accessor :messages
|
|
|
|
# A short part of the message text.
|
|
# Corresponds to the JSON property `snippet`
|
|
# @return [String]
|
|
attr_accessor :snippet
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
@id = args[:id] if args.key?(:id)
|
|
@messages = args[:messages] if args.key?(:messages)
|
|
@snippet = args[:snippet] if args.key?(:snippet)
|
|
end
|
|
end
|
|
|
|
# Vacation auto-reply settings for an account. These settings correspond to
|
|
# the <a href="https://support.google.com/mail/answer/25922">"Vacation
|
|
# responder"</a> feature in the web interface.
|
|
class VacationSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flag that controls whether Gmail automatically replies to messages.
|
|
# Corresponds to the JSON property `enableAutoReply`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_auto_reply
|
|
alias_method :enable_auto_reply?, :enable_auto_reply
|
|
|
|
# An optional end time for sending auto-replies (epoch ms).
|
|
# When this is specified, Gmail will automatically reply only to messages
|
|
# that it receives before the end time. If both <code>startTime</code> and
|
|
# <code>endTime</code> are specified, <code>startTime</code> must precede
|
|
# <code>endTime</code>.
|
|
# Corresponds to the JSON property `endTime`
|
|
# @return [Fixnum]
|
|
attr_accessor :end_time
|
|
|
|
# Response body in HTML format. Gmail will sanitize the HTML before
|
|
# storing it. If both <code>response_body_plain_text</code> and
|
|
# <code>response_body_html</code> are specified,
|
|
# <code>response_body_html</code> will be used.
|
|
# Corresponds to the JSON property `responseBodyHtml`
|
|
# @return [String]
|
|
attr_accessor :response_body_html
|
|
|
|
# Response body in plain text format. If both
|
|
# <code>response_body_plain_text</code> and <code>response_body_html</code>
|
|
# are specified, <code>response_body_html</code> will be used.
|
|
# Corresponds to the JSON property `responseBodyPlainText`
|
|
# @return [String]
|
|
attr_accessor :response_body_plain_text
|
|
|
|
# Optional text to prepend to the subject line in vacation responses. In
|
|
# order to enable auto-replies, either the response subject or the response
|
|
# body must be nonempty.
|
|
# Corresponds to the JSON property `responseSubject`
|
|
# @return [String]
|
|
attr_accessor :response_subject
|
|
|
|
# Flag that determines whether responses are sent to recipients who are not
|
|
# in the user's list of contacts.
|
|
# Corresponds to the JSON property `restrictToContacts`
|
|
# @return [Boolean]
|
|
attr_accessor :restrict_to_contacts
|
|
alias_method :restrict_to_contacts?, :restrict_to_contacts
|
|
|
|
# Flag that determines whether responses are sent to recipients who are
|
|
# outside of the user's domain. This feature is only available for G Suite
|
|
# users.
|
|
# Corresponds to the JSON property `restrictToDomain`
|
|
# @return [Boolean]
|
|
attr_accessor :restrict_to_domain
|
|
alias_method :restrict_to_domain?, :restrict_to_domain
|
|
|
|
# An optional start time for sending auto-replies (epoch ms).
|
|
# When this is specified, Gmail will automatically reply only to messages
|
|
# that it receives after the start time. If both <code>startTime</code> and
|
|
# <code>endTime</code> are specified, <code>startTime</code> must precede
|
|
# <code>endTime</code>.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [Fixnum]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_auto_reply = args[:enable_auto_reply] if args.key?(:enable_auto_reply)
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
@response_body_html = args[:response_body_html] if args.key?(:response_body_html)
|
|
@response_body_plain_text = args[:response_body_plain_text] if args.key?(:response_body_plain_text)
|
|
@response_subject = args[:response_subject] if args.key?(:response_subject)
|
|
@restrict_to_contacts = args[:restrict_to_contacts] if args.key?(:restrict_to_contacts)
|
|
@restrict_to_domain = args[:restrict_to_domain] if args.key?(:restrict_to_domain)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# Set up or update a new push notification watch on this user's mailbox.
|
|
class WatchRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Filtering behavior of labelIds list specified.
|
|
# Corresponds to the JSON property `labelFilterAction`
|
|
# @return [String]
|
|
attr_accessor :label_filter_action
|
|
|
|
# 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.
|
|
# Corresponds to the JSON property `labelIds`
|
|
# @return [Array<String>]
|
|
attr_accessor :label_ids
|
|
|
|
# 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).
|
|
# Corresponds to the JSON property `topicName`
|
|
# @return [String]
|
|
attr_accessor :topic_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_filter_action = args[:label_filter_action] if args.key?(:label_filter_action)
|
|
@label_ids = args[:label_ids] if args.key?(:label_ids)
|
|
@topic_name = args[:topic_name] if args.key?(:topic_name)
|
|
end
|
|
end
|
|
|
|
# Push notification watch response.
|
|
class WatchResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# When Gmail will stop sending notifications for mailbox updates
|
|
# (epoch millis). Call <code>watch</code> again before this time to renew
|
|
# the watch.
|
|
# Corresponds to the JSON property `expiration`
|
|
# @return [Fixnum]
|
|
attr_accessor :expiration
|
|
|
|
# The ID of the mailbox's current history record.
|
|
# Corresponds to the JSON property `historyId`
|
|
# @return [Fixnum]
|
|
attr_accessor :history_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@expiration = args[:expiration] if args.key?(:expiration)
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|