Class: Google::Apis::GmailV1::WatchRequest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/gmail_v1/classes.rb,
lib/google/apis/gmail_v1/representations.rb,
lib/google/apis/gmail_v1/representations.rb

Overview

Set up or update a new push notification watch on this user's mailbox.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ WatchRequest

Returns a new instance of WatchRequest.



1890
1891
1892
# File 'lib/google/apis/gmail_v1/classes.rb', line 1890

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#label_filter_actionString

Filtering behavior of labelIds list specified. This field is deprecated because it caused incorrect behavior in some cases; use label_filter_behavior instead. Corresponds to the JSON property labelFilterAction

Returns:

  • (String)


1865
1866
1867
# File 'lib/google/apis/gmail_v1/classes.rb', line 1865

def label_filter_action
  @label_filter_action
end

#label_filter_behaviorString

Filtering behavior of labelIds list specified. This field replaces label_filter_action; if set, label_filter_action is ignored. Corresponds to the JSON property labelFilterBehavior

Returns:

  • (String)


1871
1872
1873
# File 'lib/google/apis/gmail_v1/classes.rb', line 1871

def label_filter_behavior
  @label_filter_behavior
end

#label_idsArray<String>

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

Returns:

  • (Array<String>)


1878
1879
1880
# File 'lib/google/apis/gmail_v1/classes.rb', line 1878

def label_ids
  @label_ids
end

#topic_nameString

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

Returns:

  • (String)


1888
1889
1890
# File 'lib/google/apis/gmail_v1/classes.rb', line 1888

def topic_name
  @topic_name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1895
1896
1897
1898
1899
1900
# File 'lib/google/apis/gmail_v1/classes.rb', line 1895

def update!(**args)
  @label_filter_action = args[:label_filter_action] if args.key?(:label_filter_action)
  @label_filter_behavior = args[:label_filter_behavior] if args.key?(:label_filter_behavior)
  @label_ids = args[:label_ids] if args.key?(:label_ids)
  @topic_name = args[:topic_name] if args.key?(:topic_name)
end