Class: Google::Apps::Chat::V1::ChatService::Rest::Client

Inherits:
Object
  • Object
show all
Includes:
Paths
Defined in:
lib/google/apps/chat/v1/chat_service/rest/client.rb

Overview

REST client for the ChatService service.

Enables developers to build Chat apps and integrations on Google Chat Platform.

Defined Under Namespace

Classes: Configuration

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Paths

#attachment_path, #custom_emoji_path, #membership_path, #message_path, #quoted_message_metadata_path, #reaction_path, #section_item_path, #section_path, #space_event_path, #space_notification_setting_path, #space_path, #space_read_state_path, #thread_path, #thread_read_state_path, #user_path

Constructor Details

#initialize {|config| ... } ⇒ Client

Create a new ChatService REST client object.

Examples:


# Create a client using the default configuration
client = ::Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a client using a custom configuration
client = ::Google::Apps::Chat::V1::ChatService::Rest::Client.new do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the ChatService client.

Yield Parameters:



342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 342

def initialize
  # Create the configuration object
  @config = Configuration.new Client.configure

  # Yield the configuration if needed
  yield @config if block_given?

  # Create credentials
  credentials = @config.credentials
  # Use self-signed JWT if the endpoint is unchanged from default,
  # but only if the default endpoint does not have a region prefix.
  enable_self_signed_jwt = @config.endpoint.nil? ||
                           (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
                           !@config.endpoint.split(".").first.include?("-"))
  credentials ||= Credentials.default scope: @config.scope,
                                      enable_self_signed_jwt: enable_self_signed_jwt
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end

  @quota_project_id = @config.quota_project
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id

  @chat_service_stub = ::Google::Apps::Chat::V1::ChatService::Rest::ServiceStub.new(
    endpoint: @config.endpoint,
    endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
    universe_domain: @config.universe_domain,
    credentials: credentials,
    logger: @config.logger
  )

  @chat_service_stub.logger(stub: true)&.info do |entry|
    entry.set_system_name
    entry.set_service
    entry.message = "Created client for #{entry.service}"
    entry.set_credentials_fields credentials
    entry.set "customEndpoint", @config.endpoint if @config.endpoint
    entry.set "defaultTimeout", @config.timeout if @config.timeout
    entry.set "quotaProject", @quota_project_id if @quota_project_id
  end
end

Class Method Details

.configure {|config| ... } ⇒ Client::Configuration

Configure the ChatService Client class.

See Configuration for a description of the configuration fields.

Examples:


# Modify the configuration for all ChatService clients
::Google::Apps::Chat::V1::ChatService::Rest::Client.configure do |config|
  config.timeout = 10.0
end

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 65

def self.configure
  @configure ||= begin
    namespace = ["Google", "Apps", "Chat", "V1"]
    parent_config = while namespace.any?
                      parent_name = namespace.join "::"
                      parent_const = const_get parent_name
                      break parent_const.configure if parent_const.respond_to? :configure
                      namespace.pop
                    end
    default_config = Client::Configuration.new parent_config

    default_config.rpcs.create_message.timeout = 30.0
    default_config.rpcs.create_message.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_messages.timeout = 30.0
    default_config.rpcs.list_messages.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_memberships.timeout = 30.0
    default_config.rpcs.list_memberships.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_membership.timeout = 30.0
    default_config.rpcs.get_membership.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_message.timeout = 30.0
    default_config.rpcs.get_message.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.update_message.timeout = 30.0
    default_config.rpcs.update_message.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.delete_message.timeout = 30.0
    default_config.rpcs.delete_message.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_attachment.timeout = 30.0
    default_config.rpcs.get_attachment.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.upload_attachment.timeout = 30.0
    default_config.rpcs.upload_attachment.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_spaces.timeout = 30.0
    default_config.rpcs.list_spaces.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.search_spaces.timeout = 30.0
    default_config.rpcs.search_spaces.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_space.timeout = 30.0
    default_config.rpcs.get_space.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.create_space.timeout = 30.0
    default_config.rpcs.create_space.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.set_up_space.timeout = 30.0
    default_config.rpcs.set_up_space.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.update_space.timeout = 30.0
    default_config.rpcs.update_space.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.delete_space.timeout = 30.0
    default_config.rpcs.delete_space.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.complete_import_space.timeout = 30.0
    default_config.rpcs.complete_import_space.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.find_direct_message.timeout = 30.0
    default_config.rpcs.find_direct_message.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.find_group_chats.timeout = 30.0
    default_config.rpcs.find_group_chats.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.create_membership.timeout = 30.0
    default_config.rpcs.create_membership.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.update_membership.timeout = 30.0
    default_config.rpcs.update_membership.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.delete_membership.timeout = 30.0
    default_config.rpcs.delete_membership.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.create_reaction.timeout = 30.0
    default_config.rpcs.create_reaction.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_reactions.timeout = 30.0
    default_config.rpcs.list_reactions.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.delete_reaction.timeout = 30.0
    default_config.rpcs.delete_reaction.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.create_custom_emoji.timeout = 30.0
    default_config.rpcs.create_custom_emoji.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_custom_emoji.timeout = 30.0
    default_config.rpcs.get_custom_emoji.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_custom_emojis.timeout = 30.0
    default_config.rpcs.list_custom_emojis.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.delete_custom_emoji.timeout = 30.0
    default_config.rpcs.delete_custom_emoji.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_space_read_state.timeout = 30.0
    default_config.rpcs.get_space_read_state.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.update_space_read_state.timeout = 30.0
    default_config.rpcs.update_space_read_state.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_thread_read_state.timeout = 30.0
    default_config.rpcs.get_thread_read_state.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_space_event.timeout = 30.0
    default_config.rpcs.get_space_event.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_space_events.timeout = 30.0
    default_config.rpcs.list_space_events.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.get_space_notification_setting.timeout = 30.0
    default_config.rpcs.get_space_notification_setting.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.update_space_notification_setting.timeout = 30.0
    default_config.rpcs.update_space_notification_setting.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.create_section.timeout = 30.0
    default_config.rpcs.create_section.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.delete_section.timeout = 30.0
    default_config.rpcs.delete_section.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.update_section.timeout = 30.0
    default_config.rpcs.update_section.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_sections.timeout = 30.0
    default_config.rpcs.list_sections.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.position_section.timeout = 30.0
    default_config.rpcs.position_section.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.list_section_items.timeout = 30.0
    default_config.rpcs.list_section_items.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.move_section_item.timeout = 30.0
    default_config.rpcs.move_section_item.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config
  end
  yield @configure if block_given?
  @configure
end

Instance Method Details

#complete_import_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::CompleteImportSpaceResponse #complete_import_space(name: nil) ⇒ ::Google::Apps::Chat::V1::CompleteImportSpaceResponse

Completes the import process for the specified space and makes it visible to users.

Requires user authentication and domain-wide delegation with the authorization scope:

  • https://www.googleapis.com/auth/chat.import

For more information, see Authorize Google Chat apps to import data.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CompleteImportSpaceRequest.new

# Call the complete_import_space method.
result = client.complete_import_space request

# The returned object is of type Google::Apps::Chat::V1::CompleteImportSpaceResponse.
p result

Overloads:

  • #complete_import_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::CompleteImportSpaceResponse

    Pass arguments to complete_import_space via a request object, either of type Google::Apps::Chat::V1::CompleteImportSpaceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CompleteImportSpaceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #complete_import_space(name: nil) ⇒ ::Google::Apps::Chat::V1::CompleteImportSpaceResponse

    Pass arguments to complete_import_space via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the import mode space.

      Format: spaces/{space}

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2778

def complete_import_space request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CompleteImportSpaceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.complete_import_space..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.complete_import_space.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.complete_import_space.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.complete_import_space request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#configure {|config| ... } ⇒ Client::Configuration

Configure the ChatService Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on configure.

See Configuration for a description of the configuration fields.

Yields:

  • (config)

    Configure the Client client.

Yield Parameters:

Returns:



312
313
314
315
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 312

def configure
  yield @config if block_given?
  @config
end

#create_custom_emoji(request, options = nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji #create_custom_emoji(custom_emoji: nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji

Creates a custom emoji.

Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.customemojis

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CreateCustomEmojiRequest.new

# Call the create_custom_emoji method.
result = client.create_custom_emoji request

# The returned object is of type Google::Apps::Chat::V1::CustomEmoji.
p result

Overloads:

  • #create_custom_emoji(request, options = nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji

    Pass arguments to create_custom_emoji via a request object, either of type Google::Apps::Chat::V1::CreateCustomEmojiRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CreateCustomEmojiRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #create_custom_emoji(custom_emoji: nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji

    Pass arguments to create_custom_emoji via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3902

def create_custom_emoji request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateCustomEmojiRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_custom_emoji..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.create_custom_emoji.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_custom_emoji.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.create_custom_emoji request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#create_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership #create_membership(parent: nil, membership: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space.

Supports the following types of authentication:

  • App authentication with administrator approval and the authorization scope:

    • https://www.googleapis.com/auth/chat.app.memberships
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.memberships.app (to add the calling app to the space)
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used:
      • https://www.googleapis.com/auth/chat.admin.memberships

App authentication is not supported for the following use cases:

  • Inviting users external to the Workspace organization that owns the space.
  • Adding a Google Group to a space.
  • Adding a Chat app to a space.

For example usage, see:

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CreateMembershipRequest.new

# Call the create_membership method.
result = client.create_membership request

# The returned object is of type Google::Apps::Chat::V1::Membership.
p result

Overloads:

  • #create_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to create_membership via a request object, either of type Google::Apps::Chat::V1::CreateMembershipRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CreateMembershipRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #create_membership(parent: nil, membership: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to create_membership via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The resource name of the space for which to create the membership.

      Format: spaces/{space}

    • membership (::Google::Apps::Chat::V1::Membership, ::Hash) (defaults to: nil)

      Required. The membership relation to create.

      The memberType field must contain a user with the user.name and user.type fields populated. The server will assign a resource name and overwrite anything specified.

      When a Chat app creates a membership relation for a human user, it must use certain authorization scopes and set specific values for certain fields:

      • When authenticating as a user, the chat.memberships authorization scope is required.

      • When authenticating as an app, the chat.app.memberships authorization scope is required.

      • Set user.type to HUMAN, and set user.name with format users/{user}, where {user} can be the email address for the user. For users in the same Workspace organization {user} can also be the id of the person from the People API, or the id for the user in the Directory API. For example, if the People API Person profile ID for user@example.com is 123456789, you can add the user to the space by setting the membership.member.name to users/user@example.com or users/123456789.

      Inviting users external to the Workspace organization that owns the space requires user authentication.

      When a Chat app creates a membership relation for itself, it must authenticate as a user and use the chat.memberships.app scope, set user.type to BOT, and set user.name to users/app.

    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.memberships OAuth 2.0 scope.

      Creating app memberships or creating memberships for users outside the administrator's Google Workspace organization isn't supported using admin access.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3211

def create_membership request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateMembershipRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_membership..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.create_membership.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_membership.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.create_membership request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#create_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Message #create_message(parent: nil, message: nil, thread_key: nil, request_id: nil, message_reply_option: nil, message_id: nil, create_message_notification_options: nil) ⇒ ::Google::Apps::Chat::V1::Message

Creates a message in a Google Chat space. For an example, see Send a message.

Supports the following types of authentication:

  • App authentication with the authorization scope:
    • https://www.googleapis.com/auth/chat.bot
  • User authentication with one of the following authorization scopes:
    • https://www.googleapis.com/auth/chat.messages.create
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)

Chat attributes the message sender differently depending on the type of authentication that you use in your request.

The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (text), cards (cardsV2), and accessory widgets (accessoryWidgets).

Message sent with app
authentication

The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (text).

Message sent with user
authentication

The maximum message size, including the message contents, is 32,000 bytes.

For webhook requests, the response doesn't contain the full message. The response only populates the name and thread.name fields in addition to the information that was in the request.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CreateMessageRequest.new

# Call the create_message method.
result = client.create_message request

# The returned object is of type Google::Apps::Chat::V1::Message.
p result

Overloads:

  • #create_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Message

    Pass arguments to create_message via a request object, either of type Google::Apps::Chat::V1::CreateMessageRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CreateMessageRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #create_message(parent: nil, message: nil, thread_key: nil, request_id: nil, message_reply_option: nil, message_id: nil, create_message_notification_options: nil) ⇒ ::Google::Apps::Chat::V1::Message

    Pass arguments to create_message via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The resource name of the space in which to create a message.

      Format: spaces/{space}

    • message (::Google::Apps::Chat::V1::Message, ::Hash) (defaults to: nil)

      Required. Message body.

    • thread_key (::String) (defaults to: nil)

      Optional. Deprecated: Use thread.thread_key instead. ID for the thread. Supports up to 4000 characters. To start or add to a thread, create a message and specify a threadKey or the thread.name. For example usage, see Start or reply to a message thread.

    • request_id (::String) (defaults to: nil)

      Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.

    • message_reply_option (::Google::Apps::Chat::V1::CreateMessageRequest::MessageReplyOption) (defaults to: nil)

      Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces.

      When responding to user interactions, this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread.

    • message_id (::String) (defaults to: nil)

      Optional. A custom ID for a message. Lets Chat apps get, update, or delete a message without needing to store the system-assigned ID in the message's resource name (represented in the message name field).

      The value for this field must meet the following requirements:

      • Begins with client-. For example, client-custom-name is a valid custom ID, but custom-name is not.
      • Contains up to 63 characters and only lowercase letters, numbers, and hyphens.
      • Is unique within a space. A Chat app can't use the same custom ID for different messages.

      For details, see Name a message.

    • create_message_notification_options (::Google::Apps::Chat::V1::CreateMessageNotificationOptions, ::Hash) (defaults to: nil)

      Optional. Controls the notification behavior when the message is posted. To learn more, see Force notifications or send silent messages.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 526

def create_message request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateMessageRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_message..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.create_message.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_message.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.create_message request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#create_reaction(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Reaction #create_reaction(parent: nil, reaction: nil) ⇒ ::Google::Apps::Chat::V1::Reaction

Creates a reaction and adds it to a message. For an example, see Add a reaction to a message.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.messages.reactions.create
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.import (import mode spaces only)

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CreateReactionRequest.new

# Call the create_reaction method.
result = client.create_reaction request

# The returned object is of type Google::Apps::Chat::V1::Reaction.
p result

Overloads:

  • #create_reaction(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Reaction

    Pass arguments to create_reaction via a request object, either of type Google::Apps::Chat::V1::CreateReactionRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CreateReactionRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #create_reaction(parent: nil, reaction: nil) ⇒ ::Google::Apps::Chat::V1::Reaction

    Pass arguments to create_reaction via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The message where the reaction is created.

      Format: spaces/{space}/messages/{message}

    • reaction (::Google::Apps::Chat::V1::Reaction, ::Hash) (defaults to: nil)

      Required. The reaction to create.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3565

def create_reaction request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateReactionRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_reaction..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.create_reaction.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_reaction.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.create_reaction request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#create_section(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Section #create_section(parent: nil, section: nil) ⇒ ::Google::Apps::Chat::V1::Section

Creates a section in Google Chat. Sections help users group conversations and customize the list of spaces displayed in Chat navigation panel. Only sections of type CUSTOM_SECTION can be created. For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CreateSectionRequest.new

# Call the create_section method.
result = client.create_section request

# The returned object is of type Google::Apps::Chat::V1::Section.
p result

Overloads:

  • #create_section(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Section

    Pass arguments to create_section via a request object, either of type Google::Apps::Chat::V1::CreateSectionRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CreateSectionRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #create_section(parent: nil, section: nil) ⇒ ::Google::Apps::Chat::V1::Section

    Pass arguments to create_section via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The parent resource name where the section is created.

      Format: users/{user}

    • section (::Google::Apps::Chat::V1::Section, ::Hash) (defaults to: nil)

      Required. The section to create.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5149

def create_section request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateSectionRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_section..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.create_section.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_section.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.create_section request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#create_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space #create_space(space: nil, request_id: nil) ⇒ ::Google::Apps::Chat::V1::Space

Creates a space. Can be used to create a named space, or a group chat in Import mode. For an example, see Create a space.

Supports the following types of authentication:

  • App authentication with administrator approval and one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.app.spaces.create
    • https://www.googleapis.com/auth/chat.app.spaces
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces.create
    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)

When authenticating as an app, the space.customer field must be set in the request.

When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set space.permission_settings.manage_apps to managers_allowed.

Space membership upon creation depends on whether the space is created in Import mode:

  • Import mode: No members are created.
  • All other modes: The calling user is added as a member. This is:
    • The app itself when using app authentication.
    • The human user when using user authentication.

If you receive the error message ALREADY_EXISTS when creating a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::CreateSpaceRequest.new

# Call the create_space method.
result = client.create_space request

# The returned object is of type Google::Apps::Chat::V1::Space.
p result

Overloads:

  • #create_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to create_space via a request object, either of type Google::Apps::Chat::V1::CreateSpaceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::CreateSpaceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #create_space(space: nil, request_id: nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to create_space via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • space (::Google::Apps::Chat::V1::Space, ::Hash) (defaults to: nil)

      Required. The displayName and spaceType fields must be populated. Only SpaceType.SPACE and SpaceType.GROUP_CHAT are supported. SpaceType.GROUP_CHAT can only be used if importMode is set to true.

      If you receive the error message ALREADY_EXISTS, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

      The space name is assigned on the server so anything specified in this field will be ignored.

    • request_id (::String) (defaults to: nil)

      Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2187

def create_space request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateSpaceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.create_space..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.create_space.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.create_space.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.create_space request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_custom_emoji(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_custom_emoji(name: nil) ⇒ ::Google::Protobuf::Empty

Deletes a custom emoji. By default, users can only delete custom emoji they created. Emoji managers assigned by the administrator can delete any custom emoji in the organization. See Learn about custom emojis in Google Chat.

Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.customemojis

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::DeleteCustomEmojiRequest.new

# Call the delete_custom_emoji method.
result = client.delete_custom_emoji request

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_custom_emoji(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_custom_emoji via a request object, either of type DeleteCustomEmojiRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::DeleteCustomEmojiRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_custom_emoji(name: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_custom_emoji via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the custom emoji to delete.

      Format: customEmojis/{customEmoji}

      You can use the emoji name as an alias for {customEmoji}. For example, customEmojis/:example-emoji: where :example-emoji: is the emoji name for a custom emoji.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4228

def delete_custom_emoji request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteCustomEmojiRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_custom_emoji..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_custom_emoji.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_custom_emoji.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.delete_custom_emoji request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership #delete_membership(name: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

Deletes a membership. For an example, see Remove a user or a Google Chat app from a space.

Supports the following types of authentication:

  • App authentication with administrator approval and the authorization scope:

    • https://www.googleapis.com/auth/chat.app.memberships
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.memberships.app (to remove the calling app from the space)
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used:
      • https://www.googleapis.com/auth/chat.admin.memberships

App authentication is not supported for the following use cases:

  • Removing a Google Group from a space.
  • Removing a Chat app from a space.

To delete memberships for space managers, the requester must be a space manager. If you're using app authentication the Chat app must be the space creator.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::DeleteMembershipRequest.new

# Call the delete_membership method.
result = client.delete_membership request

# The returned object is of type Google::Apps::Chat::V1::Membership.
p result

Overloads:

  • #delete_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to delete_membership via a request object, either of type DeleteMembershipRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::DeleteMembershipRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_membership(name: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to delete_membership via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the membership to delete. Chat apps can delete human users' or their own memberships. Chat apps can't delete other apps' memberships.

      When deleting a human membership, requires the chat.memberships scope with user authentication or the chat.memberships.app scope with app authentication and the spaces/{space}/members/{member} format. You can use the email as an alias for {member}. For example, spaces/{space}/members/example@gmail.com where example@gmail.com is the email of the Google Chat user.

      When deleting an app membership, requires the chat.memberships.app scope and spaces/{space}/members/app format.

      Format: spaces/{space}/members/{member} or spaces/{space}/members/app.

    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.memberships OAuth 2.0 scope.

      Deleting app memberships in a space isn't supported using admin access.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3471

def delete_membership request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteMembershipRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_membership..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_membership.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_membership.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.delete_membership request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_message(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_message(name: nil, force: nil) ⇒ ::Google::Protobuf::Empty

Deletes a message. For an example, see Delete a message.

Supports the following types of authentication:

  • App authentication with the authorization scope:

    • https://www.googleapis.com/auth/chat.bot
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)

When using app authentication, requests can only delete messages created by the calling Chat app.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::DeleteMessageRequest.new

# Call the delete_message method.
result = client.delete_message request

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_message(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_message via a request object, either of type DeleteMessageRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::DeleteMessageRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_message(name: nil, force: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_message via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the message.

      Format: spaces/{space}/messages/{message}

      If you've set a custom ID for your message, you can use the value from the clientAssignedMessageId field for {message}. For details, see Name a message.

    • force (::Boolean) (defaults to: nil)

      Optional. When true, deleting a message also deletes its threaded replies. When false, if a message has threaded replies, deletion fails.

      Only applies when authenticating as a user. Has no effect when authenticating as a Chat app.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1387

def delete_message request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteMessageRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_message..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_message.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_message.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.delete_message request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_reaction(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_reaction(name: nil) ⇒ ::Google::Protobuf::Empty

Deletes a reaction to a message. For an example, see Delete a reaction.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.import (import mode spaces only)

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::DeleteReactionRequest.new

# Call the delete_reaction method.
result = client.delete_reaction request

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_reaction(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_reaction via a request object, either of type DeleteReactionRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::DeleteReactionRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_reaction(name: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_reaction via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Name of the reaction to delete.

      Format: spaces/{space}/messages/{message}/reactions/{reaction}

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3810

def delete_reaction request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteReactionRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_reaction..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_reaction.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_reaction.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.delete_reaction request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_section(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_section(name: nil) ⇒ ::Google::Protobuf::Empty

Deletes a section of type CUSTOM_SECTION.

If the section contains items, such as spaces, the items are moved to Google Chat's default sections and are not deleted.

For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::DeleteSectionRequest.new

# Call the delete_section method.
result = client.delete_section request

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_section(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_section via a request object, either of type DeleteSectionRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::DeleteSectionRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_section(name: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_section via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. The name of the section to delete.

      Format: users/{user}/sections/{section}

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5242

def delete_section request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteSectionRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_section..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_section.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_section.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.delete_section request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#delete_space(request, options = nil) ⇒ ::Google::Protobuf::Empty #delete_space(name: nil, use_admin_access: nil) ⇒ ::Google::Protobuf::Empty

Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see Delete a space.

Supports the following types of authentication:

  • App authentication with administrator approval and the authorization scope:

    • https://www.googleapis.com/auth/chat.app.delete (only in spaces the app created)
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.delete
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used:
      • https://www.googleapis.com/auth/chat.admin.delete

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::DeleteSpaceRequest.new

# Call the delete_space method.
result = client.delete_space request

# The returned object is of type Google::Protobuf::Empty.
p result

Overloads:

  • #delete_space(request, options = nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_space via a request object, either of type DeleteSpaceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::DeleteSpaceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #delete_space(name: nil, use_admin_access: nil) ⇒ ::Google::Protobuf::Empty

    Pass arguments to delete_space via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the space to delete.

      Format: spaces/{space}

    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.delete OAuth 2.0 scope.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2685

def delete_space request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteSpaceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.delete_space..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.delete_space.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.delete_space.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.delete_space request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#find_direct_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space #find_direct_message(name: nil) ⇒ ::Google::Apps::Chat::V1::Space

Returns the existing direct message with the specified user. If no direct message space is found, returns a 404 NOT_FOUND error. For an example, see Find a direct message.

With app authentication, returns the direct message space between the specified user and the calling Chat app.

With user authentication, returns the direct message space between the specified user and the authenticated user.

Supports the following types of authentication:

  • App authentication with the authorization scope:

    • https://www.googleapis.com/auth/chat.bot
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::FindDirectMessageRequest.new

# Call the find_direct_message method.
result = client.find_direct_message request

# The returned object is of type Google::Apps::Chat::V1::Space.
p result

Overloads:

  • #find_direct_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to find_direct_message via a request object, either of type FindDirectMessageRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::FindDirectMessageRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #find_direct_message(name: nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to find_direct_message via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the user to find direct message with.

      Format: users/{user}, where {user} is either the id for the person from the People API, or the id for the user in the Directory API. For example, if the People API profile ID is 123456789, you can find a direct message with that person by using users/123456789 as the name. When authenticated as a user, you can use the email as an alias for {user}. For example, users/example@gmail.com where example@gmail.com is the email of the Google Chat user.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2895

def find_direct_message request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::FindDirectMessageRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.find_direct_message..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.find_direct_message.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.find_direct_message.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.find_direct_message request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#find_group_chats(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space> #find_group_chats(users: nil, page_size: nil, page_token: nil, space_view: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

Returns all spaces with spaceType == GROUP_CHAT, whose human memberships contain exactly the calling user, and the users specified in FindGroupChatsRequest.users. Only members that have joined the conversation are supported. For an example, see Find group chats.

If the calling user blocks, or is blocked by, some users, and no spaces with the entire specified set of users are found, this method returns spaces that don't include the blocked or blocking users.

The specified set of users must contain only human (non-app) memberships. A request that contains non-human users doesn't return any spaces.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.memberships

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::FindGroupChatsRequest.new

# Call the find_group_chats method.
result = client.find_group_chats request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Space.
  p item
end

Overloads:

  • #find_group_chats(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

    Pass arguments to find_group_chats via a request object, either of type FindGroupChatsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::FindGroupChatsRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #find_group_chats(users: nil, page_size: nil, page_token: nil, space_view: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

    Pass arguments to find_group_chats via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • users (::Array<::String>) (defaults to: nil)

      Optional. Resource names of all human users in group chat with the calling user. Chat apps can't be included in the request.

      The maximum number of users that can be specified in a single request is 49.

      Format: users/{user}, where {user} is either the id for the person from the People API, or the id for the user in the Directory API. For example, to find all group chats with the calling user and two other users, with People API profile IDs 123456789 and 987654321, you can use users/123456789 and users/987654321. You can also use the email as an alias for {user}. For example, users/example@gmail.com where example@gmail.com is the email of the Google Chat user.

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of spaces to return. The service might return fewer than this value.

      If unspecified, at most 10 spaces are returned.

      The maximum value is 30. If you use a value more than 30, it's automatically changed to 30.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token, received from a previous call to find group chats. Provide this parameter to retrieve the subsequent page.

      When paginating, all other parameters provided should match the call that provided the token. Passing different values may lead to unexpected results.

    • space_view (::Google::Apps::Chat::V1::SpaceView) (defaults to: nil)

      Requested space view type. If unset, defaults to SPACE_VIEW_RESOURCE_NAME_ONLY. Requests that specify SPACE_VIEW_EXPANDED must include scopes that allow reading space data, for example, https://www.googleapis.com/auth/chat.spaces or https://www.googleapis.com/auth/chat.spaces.readonly.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3035

def find_group_chats request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::FindGroupChatsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.find_group_chats..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.find_group_chats.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.find_group_chats.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.find_group_chats request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :find_group_chats, "spaces", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_attachment(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Attachment #get_attachment(name: nil) ⇒ ::Google::Apps::Chat::V1::Attachment

Gets the metadata of a message attachment. The attachment data is fetched using the media API. For an example, see Get metadata about a message attachment.

Requires app authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.bot

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetAttachmentRequest.new

# Call the get_attachment method.
result = client.get_attachment request

# The returned object is of type Google::Apps::Chat::V1::Attachment.
p result

Overloads:

  • #get_attachment(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Attachment

    Pass arguments to get_attachment via a request object, either of type GetAttachmentRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetAttachmentRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_attachment(name: nil) ⇒ ::Google::Apps::Chat::V1::Attachment

    Pass arguments to get_attachment via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the attachment, in the form spaces/{space}/messages/{message}/attachments/{attachment}.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1478

def get_attachment request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetAttachmentRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_attachment..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_attachment.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_attachment.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_attachment request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_custom_emoji(request, options = nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji #get_custom_emoji(name: nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji

Returns details about a custom emoji.

Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.customemojis.readonly
  • https://www.googleapis.com/auth/chat.customemojis

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetCustomEmojiRequest.new

# Call the get_custom_emoji method.
result = client.get_custom_emoji request

# The returned object is of type Google::Apps::Chat::V1::CustomEmoji.
p result

Overloads:

  • #get_custom_emoji(request, options = nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji

    Pass arguments to get_custom_emoji via a request object, either of type GetCustomEmojiRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetCustomEmojiRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_custom_emoji(name: nil) ⇒ ::Google::Apps::Chat::V1::CustomEmoji

    Pass arguments to get_custom_emoji via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the custom emoji.

      Format: customEmojis/{customEmoji}

      You can use the emoji name as an alias for {customEmoji}. For example, customEmojis/:example-emoji: where :example-emoji: is the emoji name for a custom emoji.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4001

def get_custom_emoji request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetCustomEmojiRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_custom_emoji..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_custom_emoji.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_custom_emoji.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_custom_emoji request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership #get_membership(name: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

Returns details about a membership. For an example, see Get details about a user's or Google Chat app's membership.

Supports the following types of authentication:

  • App authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.bot
    • https://www.googleapis.com/auth/chat.app.memberships (requires administrator approval)
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and one of the following authorization scopes is used:
      • https://www.googleapis.com/auth/chat.admin.memberships.readonly
      • https://www.googleapis.com/auth/chat.admin.memberships

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetMembershipRequest.new

# Call the get_membership method.
result = client.get_membership request

# The returned object is of type Google::Apps::Chat::V1::Membership.
p result

Overloads:

  • #get_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to get_membership via a request object, either of type GetMembershipRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetMembershipRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_membership(name: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to get_membership via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the membership to retrieve.

      To get the app's own membership by using user authentication, you can optionally use spaces/{space}/members/app.

      Format: spaces/{space}/members/{member} or spaces/{space}/members/app

      You can use the user's email as an alias for {member}. For example, spaces/{space}/members/example@gmail.com where example@gmail.com is the email of the Google Chat user.

    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.memberships or chat.admin.memberships.readonly OAuth 2.0 scopes.

      Getting app memberships in a space isn't supported when using admin access.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1036

def get_membership request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetMembershipRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_membership..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_membership.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_membership.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_membership request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Message #get_message(name: nil) ⇒ ::Google::Apps::Chat::V1::Message

Returns details about a message. For an example, see Get details about a message.

Supports the following types of authentication:

  • App authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.bot: When using this authorization scope, this method returns details about a message the Chat app has access to, like direct messages and slash commands that invoke the Chat app.
    • https://www.googleapis.com/auth/chat.app.messages.readonly with administrator approval. When using this authentication scope, this method returns details about a public message in a space.
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages

Note: Might return a message from a blocked member or space.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetMessageRequest.new

# Call the get_message method.
result = client.get_message request

# The returned object is of type Google::Apps::Chat::V1::Message.
p result

Overloads:

  • #get_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Message

    Pass arguments to get_message via a request object, either of type GetMessageRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetMessageRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_message(name: nil) ⇒ ::Google::Apps::Chat::V1::Message

    Pass arguments to get_message via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the message.

      Format: spaces/{space}/messages/{message}

      If you've set a custom ID for your message, you can use the value from the clientAssignedMessageId field for {message}. For details, see Name a message.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1148

def get_message request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetMessageRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_message..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_message.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_message.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_message request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space #get_space(name: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Space

Returns details about a space. For an example, see Get details about a space.

Supports the following types of authentication:

  • App authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.bot
    • https://www.googleapis.com/auth/chat.app.spaces with administrator approval
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and one of the following authorization scopes is used:
      • https://www.googleapis.com/auth/chat.admin.spaces.readonly
      • https://www.googleapis.com/auth/chat.admin.spaces

App authentication has the following limitations:

  • space.access_settings is only populated when using the chat.app.spaces scope.
  • space.predefind_permission_settings and space.permission_settings are only populated when using the chat.app.spaces scope, and only for spaces the app created.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetSpaceRequest.new

# Call the get_space method.
result = client.get_space request

# The returned object is of type Google::Apps::Chat::V1::Space.
p result

Overloads:

  • #get_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to get_space via a request object, either of type GetSpaceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetSpaceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_space(name: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to get_space via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the space, in the form spaces/{space}.

      Format: spaces/{space}

    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.spaces or chat.admin.spaces.readonly OAuth 2.0 scopes.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2051

def get_space request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetSpaceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_space..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_space.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_space.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_space request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_space_event(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceEvent #get_space_event(name: nil) ⇒ ::Google::Apps::Chat::V1::SpaceEvent

Returns an event from a Google Chat space. The event payload contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated Message resource in the event payload.

Note: The permissionSettings field is not returned in the Space object of the Space event data for this request.

Supports the following types of authentication with an authorization scope appropriate for reading the requested data:

  • App authentication with administrator approval with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.app.spaces
    • https://www.googleapis.com/auth/chat.app.spaces.readonly
    • https://www.googleapis.com/auth/chat.app.messages.readonly
    • https://www.googleapis.com/auth/chat.app.memberships
    • https://www.googleapis.com/auth/chat.app.memberships.readonly
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.messages.reactions.readonly
    • https://www.googleapis.com/auth/chat.messages.reactions
    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships

To get an event, the authenticated caller must be a member of the space.

For an example, see Get details about an event from a Google Chat space.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetSpaceEventRequest.new

# Call the get_space_event method.
result = client.get_space_event request

# The returned object is of type Google::Apps::Chat::V1::SpaceEvent.
p result

Overloads:

  • #get_space_event(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceEvent

    Pass arguments to get_space_event via a request object, either of type GetSpaceEventRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetSpaceEventRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_space_event(name: nil) ⇒ ::Google::Apps::Chat::V1::SpaceEvent

    Pass arguments to get_space_event via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. The resource name of the space event.

      Format: spaces/{space}/spaceEvents/{spaceEvent}

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4674

def get_space_event request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetSpaceEventRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_space_event..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_space_event.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_space_event.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_space_event request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_space_notification_setting(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting #get_space_notification_setting(name: nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting

Gets the space notification setting. For an example, see Get the caller's space notification setting.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.spacesettings

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetSpaceNotificationSettingRequest.new

# Call the get_space_notification_setting method.
result = client.get_space_notification_setting request

# The returned object is of type Google::Apps::Chat::V1::SpaceNotificationSetting.
p result

Overloads:

  • #get_space_notification_setting(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting

    Pass arguments to get_space_notification_setting via a request object, either of type GetSpaceNotificationSettingRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetSpaceNotificationSettingRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_space_notification_setting(name: nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting

    Pass arguments to get_space_notification_setting via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Format: users/{user}/spaces/{space}/spaceNotificationSetting

      • users/me/spaces/{space}/spaceNotificationSetting, OR
      • users/user@example.com/spaces/{space}/spaceNotificationSetting, OR
      • users/123456789/spaces/{space}/spaceNotificationSetting. Note: Only the caller's user id or email is allowed in the path.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4960

def get_space_notification_setting request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetSpaceNotificationSettingRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_space_notification_setting..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_space_notification_setting.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_space_notification_setting.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_space_notification_setting request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_space_read_state(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState #get_space_read_state(name: nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState

Returns details about a user's read state within a space, used to identify read and unread messages. For an example, see Get details about a user's space read state.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.users.readstate.readonly
  • https://www.googleapis.com/auth/chat.users.readstate

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetSpaceReadStateRequest.new

# Call the get_space_read_state method.
result = client.get_space_read_state request

# The returned object is of type Google::Apps::Chat::V1::SpaceReadState.
p result

Overloads:

  • #get_space_read_state(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState

    Pass arguments to get_space_read_state via a request object, either of type GetSpaceReadStateRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetSpaceReadStateRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_space_read_state(name: nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState

    Pass arguments to get_space_read_state via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the space read state to retrieve.

      Only supports getting read state for the calling user.

      To refer to the calling user, set one of the following:

      • The me alias. For example, users/me/spaces/{space}/spaceReadState.

      • Their Workspace email address. For example, users/user@example.com/spaces/{space}/spaceReadState.

      • Their user id. For example, users/123456789/spaces/{space}/spaceReadState.

      Format: users/{user}/spaces/{space}/spaceReadState

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4331

def get_space_read_state request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetSpaceReadStateRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_space_read_state..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_space_read_state.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_space_read_state.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_space_read_state request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#get_thread_read_state(request, options = nil) ⇒ ::Google::Apps::Chat::V1::ThreadReadState #get_thread_read_state(name: nil) ⇒ ::Google::Apps::Chat::V1::ThreadReadState

Returns details about a user's read state within a thread, used to identify read and unread messages. For an example, see Get details about a user's thread read state.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.users.readstate.readonly
  • https://www.googleapis.com/auth/chat.users.readstate

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::GetThreadReadStateRequest.new

# Call the get_thread_read_state method.
result = client.get_thread_read_state request

# The returned object is of type Google::Apps::Chat::V1::ThreadReadState.
p result

Overloads:

  • #get_thread_read_state(request, options = nil) ⇒ ::Google::Apps::Chat::V1::ThreadReadState

    Pass arguments to get_thread_read_state via a request object, either of type GetThreadReadStateRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::GetThreadReadStateRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #get_thread_read_state(name: nil) ⇒ ::Google::Apps::Chat::V1::ThreadReadState

    Pass arguments to get_thread_read_state via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. Resource name of the thread read state to retrieve.

      Only supports getting read state for the calling user.

      To refer to the calling user, set one of the following:

      • The me alias. For example, users/me/spaces/{space}/threads/{thread}/threadReadState.

      • Their Workspace email address. For example, users/user@example.com/spaces/{space}/threads/{thread}/threadReadState.

      • Their user id. For example, users/123456789/spaces/{space}/threads/{thread}/threadReadState.

      Format: users/{user}/spaces/{space}/threads/{thread}/threadReadState

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4550

def get_thread_read_state request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetThreadReadStateRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.get_thread_read_state..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.get_thread_read_state.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.get_thread_read_state.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.get_thread_read_state request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_custom_emojis(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::CustomEmoji> #list_custom_emojis(page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::CustomEmoji>

Lists custom emojis visible to the authenticated user.

Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.customemojis.readonly
  • https://www.googleapis.com/auth/chat.customemojis

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListCustomEmojisRequest.new

# Call the list_custom_emojis method.
result = client.list_custom_emojis request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::CustomEmoji.
  p item
end

Overloads:

  • #list_custom_emojis(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::CustomEmoji>

    Pass arguments to list_custom_emojis via a request object, either of type ListCustomEmojisRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListCustomEmojisRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_custom_emojis(page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::CustomEmoji>

    Pass arguments to list_custom_emojis via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of custom emojis returned. The service can return fewer custom emojis than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200.

    • page_token (::String) (defaults to: nil)

      Optional. (If resuming from a previous query.)

      A page token received from a previous list custom emoji call. Provide this to retrieve the subsequent page.

      When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Optional. A query filter.

      Supports filtering by creator.

      To filter by creator, you must specify a valid value. Currently only creator("users/me") and NOT creator("users/me") are accepted to filter custom emojis by whether they were created by the calling user or not.

      For example, the following query returns custom emojis created by the caller:

      creator("users/me")
      

      Invalid queries are rejected with an INVALID_ARGUMENT error.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4124

def list_custom_emojis request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListCustomEmojisRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_custom_emojis..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_custom_emojis.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_custom_emojis.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_custom_emojis request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_custom_emojis, "custom_emojis", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_memberships(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Membership> #list_memberships(parent: nil, page_size: nil, page_token: nil, filter: nil, show_groups: nil, show_invited: nil, use_admin_access: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Membership>

Lists memberships in a space. For an example, see List users and Google Chat apps in a space. Listing memberships with app authentication lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with User authentication lists memberships in spaces that the authenticated user has access to.

Supports the following types of authentication:

  • App authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.bot
    • https://www.googleapis.com/auth/chat.app.memberships (requires administrator approval)
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and one of the following authorization scopes is used:
      • https://www.googleapis.com/auth/chat.admin.memberships.readonly
      • https://www.googleapis.com/auth/chat.admin.memberships

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListMembershipsRequest.new

# Call the list_memberships method.
result = client.list_memberships request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Membership.
  p item
end

Overloads:

  • #list_memberships(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Membership>

    Pass arguments to list_memberships via a request object, either of type ListMembershipsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListMembershipsRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_memberships(parent: nil, page_size: nil, page_token: nil, filter: nil, show_groups: nil, show_invited: nil, use_admin_access: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Membership>

    Pass arguments to list_memberships via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The resource name of the space for which to fetch a membership list.

      Format: spaces/{space}

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of memberships to return. The service might return fewer than this value.

      If unspecified, at most 100 memberships are returned.

      The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token, received from a previous call to list memberships. Provide this parameter to retrieve the subsequent page.

      When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Optional. A query filter.

      You can filter memberships by a member's role (role) and type (member.type).

      To filter by role, set role to ROLE_MEMBER or ROLE_MANAGER.

      To filter by type, set member.type to HUMAN or BOT. You can also filter for member.type using the != operator.

      To filter by both role and type, use the AND operator. To filter by either role or type, use the OR operator.

      Either member.type = "HUMAN" or member.type != "BOT" is required when use_admin_access is set to true. Other member type filters will be rejected.

      For example, the following queries are valid:

      role = "ROLE_MANAGER" OR role = "ROLE_MEMBER"
      member.type = "HUMAN" AND role = "ROLE_MANAGER"
      
      member.type != "BOT"
      

      The following queries are invalid:

      member.type = "HUMAN" AND member.type = "BOT"
      role = "ROLE_MANAGER" AND role = "ROLE_MEMBER"
      

      Invalid queries are rejected by the server with an INVALID_ARGUMENT error.

    • show_groups (::Boolean) (defaults to: nil)

      Optional. When true, also returns memberships associated with a Google Group, in addition to other types of memberships. If a filter is set, Google Group memberships that don't match the filter criteria aren't returned.

    • show_invited (::Boolean) (defaults to: nil)

      Optional. When true, also returns memberships associated with invited members, in addition to other types of memberships. If a filter is set, invited memberships that don't match the filter criteria aren't returned.

      Currently requires user authentication.

    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires either the chat.admin.memberships.readonly or chat.admin.memberships OAuth 2.0 scope.

      Listing app memberships in a space isn't supported when using admin access.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 910

def list_memberships request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListMembershipsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_memberships..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_memberships.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_memberships.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_memberships request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_memberships, "memberships", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_messages(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Message> #list_messages(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil, show_deleted: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Message>

Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. System messages, like those announcing new space members, aren't included. If you list messages from a space with no messages, the response is an empty object. When using a REST/HTTP interface, the response contains an empty JSON object, {}. For an example, see List messages.

Supports the following types of authentication:

  • App authentication with administrator approval with the authorization scope:

    • https://www.googleapis.com/auth/chat.app.messages.readonly. When using this authentication scope, this method only returns public messages in a space. It doesn't include private messages.
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListMessagesRequest.new

# Call the list_messages method.
result = client.list_messages request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Message.
  p item
end

Overloads:

  • #list_messages(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Message>

    Pass arguments to list_messages via a request object, either of type ListMessagesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListMessagesRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_messages(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil, show_deleted: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Message>

    Pass arguments to list_messages via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The resource name of the space to list messages from.

      Format: spaces/{space}

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of messages returned. The service might return fewer messages than this value.

      If unspecified, at most 25 are returned.

      The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token received from a previous list messages call. Provide this parameter to retrieve the subsequent page.

      When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Optional. A query filter.

      You can filter messages by date (create_time) and thread (thread.name).

      To filter messages by the date they were created, specify the create_time with a timestamp in RFC-3339 format and double quotation marks. For example, "2023-04-21T11:30:00-04:00". You can use the greater than operator > to list messages that were created after a timestamp, or the less than operator < to list messages that were created before a timestamp. To filter messages within a time interval, use the AND operator between two timestamps.

      To filter by thread, specify the thread.name, formatted as spaces/{space}/threads/{thread}. You can only specify one thread.name per query.

      To filter by both thread and date, use the AND operator in your query.

      For example, the following queries are valid:

      create_time > "2012-04-21T11:30:00-04:00"
      
      create_time > "2012-04-21T11:30:00-04:00" AND
        thread.name = spaces/AAAAAAAAAAA/threads/123
      
      create_time > "2012-04-21T11:30:00+00:00" AND
      
      create_time < "2013-01-01T00:00:00+00:00" AND
        thread.name = spaces/AAAAAAAAAAA/threads/123
      
      thread.name = spaces/AAAAAAAAAAA/threads/123
      

      Invalid queries are rejected by the server with an INVALID_ARGUMENT error.

    • order_by (::String) (defaults to: nil)

      Optional. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows:

      • ASC for ascending.

      • DESC for descending.

      The default ordering is create_time ASC.

    • show_deleted (::Boolean) (defaults to: nil)

      Optional. Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 705

def list_messages request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListMessagesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_messages..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_messages.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_messages.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_messages request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_messages, "messages", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_reactions(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Reaction> #list_reactions(parent: nil, page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Reaction>

Lists reactions to a message. For an example, see List reactions for a message.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.messages.reactions.readonly
  • https://www.googleapis.com/auth/chat.messages.reactions
  • https://www.googleapis.com/auth/chat.messages.readonly
  • https://www.googleapis.com/auth/chat.messages

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListReactionsRequest.new

# Call the list_reactions method.
result = client.list_reactions request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Reaction.
  p item
end

Overloads:

  • #list_reactions(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Reaction>

    Pass arguments to list_reactions via a request object, either of type ListReactionsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListReactionsRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_reactions(parent: nil, page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Reaction>

    Pass arguments to list_reactions via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The message users reacted to.

      Format: spaces/{space}/messages/{message}

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200.

    • page_token (::String) (defaults to: nil)

      Optional. (If resuming from a previous query.)

      A page token received from a previous list reactions call. Provide this to retrieve the subsequent page.

      When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Optional. A query filter.

      You can filter reactions by emoji (either emoji.unicode or emoji.custom_emoji.uid) and user (user.name).

      To filter reactions for multiple emojis or users, join similar fields with the OR operator, such as emoji.unicode = "🙂" OR emoji.unicode = "👍" and user.name = "users/AAAAAA" OR user.name = "users/BBBBBB".

      To filter reactions by emoji and user, use the AND operator, such as emoji.unicode = "🙂" AND user.name = "users/AAAAAA".

      If your query uses both AND and OR, group them with parentheses.

      For example, the following queries are valid:

      user.name = "users/\\{user}"
      emoji.unicode = "🙂"
      emoji.custom_emoji.uid = "\\{uid}"
      emoji.unicode = "🙂" OR emoji.unicode = "👍"
      emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}"
      emoji.unicode = "🙂" AND user.name = "users/\\{user}"
      (emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}")
      AND user.name = "users/\\{user}"
      

      The following queries are invalid:

      emoji.unicode = "🙂" AND emoji.unicode = "👍"
      emoji.unicode = "🙂" AND emoji.custom_emoji.uid = "\\{uid}"
      emoji.unicode = "🙂" OR user.name = "users/\\{user}"
      emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}" OR
      user.name = "users/\\{user}"
      emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}"
      AND user.name = "users/\\{user}"
      

      Invalid queries are rejected with an INVALID_ARGUMENT error.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3717

def list_reactions request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListReactionsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_reactions..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_reactions.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_reactions.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_reactions request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_reactions, "reactions", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_section_items(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SectionItem> #list_section_items(parent: nil, page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SectionItem>

Lists items in a section.

Only spaces can be section items. For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections
  • https://www.googleapis.com/auth/chat.users.sections.readonly

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListSectionItemsRequest.new

# Call the list_section_items method.
result = client.list_section_items request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::SectionItem.
  p item
end

Overloads:

  • #list_section_items(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SectionItem>

    Pass arguments to list_section_items via a request object, either of type ListSectionItemsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListSectionItemsRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_section_items(parent: nil, page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SectionItem>

    Pass arguments to list_section_items via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The parent, which is the section resource name that owns this collection of section items. Only supports listing section items for the calling user.

      When you're filtering by space, use the wildcard - to search across all sections. For example, users/{user}/sections/-.

      Format: users/{user}/sections/{section}

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of section items to return. The service may return fewer than this value.

      If unspecified, at most 10 section items will be returned.

      The maximum value is 100. If you use a value more than 100, it's automatically changed to 100.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token, received from a previous list section items call. Provide this to retrieve the subsequent page.

      When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Optional. A query filter.

      Currently only supports filtering by space.

      For example, space = spaces/{space}.

      Invalid queries are rejected with an INVALID_ARGUMENT error.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5683

def list_section_items request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListSectionItemsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_section_items..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_section_items.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_section_items.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_section_items request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_section_items, "section_items", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_sections(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Section> #list_sections(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Section>

Lists sections available to the Chat user. Sections help users group their conversations and customize the list of spaces displayed in Chat navigation panel. For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections
  • https://www.googleapis.com/auth/chat.users.sections.readonly

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListSectionsRequest.new

# Call the list_sections method.
result = client.list_sections request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Section.
  p item
end

Overloads:

  • #list_sections(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Section>

    Pass arguments to list_sections via a request object, either of type ListSectionsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListSectionsRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_sections(parent: nil, page_size: nil, page_token: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Section>

    Pass arguments to list_sections via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. The parent, which is the user resource name that owns this collection of sections. Only supports listing sections for the calling user. To refer to the calling user, set one of the following:

      • The me alias. For example, users/me.

      • Their Workspace email address. For example, users/user@example.com.

      • Their user id. For example, users/123456789.

      Format: users/{user}

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of sections to return. The service may return fewer than this value.

      If unspecified, at most 10 sections will be returned.

      The maximum value is 100. If you use a value more than 100, it's automatically changed to 100.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token, received from a previous list sections call. Provide this to retrieve the subsequent page.

      When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5455

def list_sections request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListSectionsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_sections..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_sections.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_sections.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_sections request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_sections, "sections", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_space_events(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SpaceEvent> #list_space_events(parent: nil, page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SpaceEvent>

Lists events from a Google Chat space. For each event, the payload contains the most recent version of the Chat resource. For example, if you list events about new space members, the server returns Membership resources that contain the latest membership details. If new members were removed during the requested period, the event payload contains an empty Membership resource.

Supports the following types of authentication with an authorization scope appropriate for reading the requested data:

  • App authentication with administrator approval with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.app.spaces
    • https://www.googleapis.com/auth/chat.app.spaces.readonly
    • https://www.googleapis.com/auth/chat.app.messages.readonly
    • https://www.googleapis.com/auth/chat.app.memberships
    • https://www.googleapis.com/auth/chat.app.memberships.readonly
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.messages.readonly
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.messages.reactions.readonly
    • https://www.googleapis.com/auth/chat.messages.reactions
    • https://www.googleapis.com/auth/chat.memberships.readonly
    • https://www.googleapis.com/auth/chat.memberships

To list events, the authenticated caller must be a member of the space.

For an example, see List events from a Google Chat space.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListSpaceEventsRequest.new

# Call the list_space_events method.
result = client.list_space_events request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::SpaceEvent.
  p item
end

Overloads:

  • #list_space_events(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SpaceEvent>

    Pass arguments to list_space_events via a request object, either of type ListSpaceEventsRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListSpaceEventsRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_space_events(parent: nil, page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::SpaceEvent>

    Pass arguments to list_space_events via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. Resource name of the Google Chat space where the events occurred.

      Format: spaces/{space}.

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of space events returned. The service might return fewer than this value.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token, received from a previous list space events call. Provide this to retrieve the subsequent page.

      When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Required. A query filter.

      You must specify at least one event type (event_type) using the has : operator. To filter by multiple event types, use the OR operator. Omit batch event types in your filter. The request automatically returns any related batch events. For example, if you filter by new reactions (google.workspace.chat.reaction.v1.created), the server also returns batch new reactions events (google.workspace.chat.reaction.v1.batchCreated). For a list of supported event types, see the SpaceEvents reference documentation.

      Optionally, you can also filter by start time (start_time) and end time (end_time):

      • start_time: Exclusive timestamp from which to start listing space events. You can list events that occurred up to 28 days ago. If unspecified, lists space events from the past 28 days.
      • end_time: Inclusive timestamp until which space events are listed. If unspecified, lists events up to the time of the request.

      To specify a start or end time, use the equals = operator and format in RFC-3339. To filter by both start_time and end_time, use the AND operator.

      For example, the following queries are valid:

      start_time="2023-08-23T19:20:33+00:00" AND
      end_time="2023-08-23T19:21:54+00:00"
      
      start_time="2023-08-23T19:20:33+00:00" AND
      (event_types:"google.workspace.chat.space.v1.updated" OR
      event_types:"google.workspace.chat.message.v1.created")
      

      The following queries are invalid:

      start_time="2023-08-23T19:20:33+00:00" OR
      end_time="2023-08-23T19:21:54+00:00"
      
      event_types:"google.workspace.chat.space.v1.updated" AND
      event_types:"google.workspace.chat.message.v1.created"
      

      Invalid queries are rejected by the server with an INVALID_ARGUMENT error.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4866

def list_space_events request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListSpaceEventsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_space_events..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_space_events.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_space_events.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_space_events request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_space_events, "space_events", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#list_spaces(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space> #list_spaces(page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see List spaces.

Supports the following types of authentication:

  • App authentication with the authorization scope:

    • https://www.googleapis.com/auth/chat.bot
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces.readonly
    • https://www.googleapis.com/auth/chat.spaces

To list all named spaces by Google Workspace organization, use the spaces.search() method using Workspace administrator privileges instead.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::ListSpacesRequest.new

# Call the list_spaces method.
result = client.list_spaces request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Space.
  p item
end

Overloads:

  • #list_spaces(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

    Pass arguments to list_spaces via a request object, either of type ListSpacesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::ListSpacesRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #list_spaces(page_size: nil, page_token: nil, filter: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

    Pass arguments to list_spaces via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • page_size (::Integer) (defaults to: nil)

      Optional. The maximum number of spaces to return. The service might return fewer than this value.

      If unspecified, at most 100 spaces are returned.

      The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.

      Negative values return an INVALID_ARGUMENT error.

    • page_token (::String) (defaults to: nil)

      Optional. A page token, received from a previous list spaces call. Provide this parameter to retrieve the subsequent page.

      When paginating, the filter value should match the call that provided the page token. Passing a different value may lead to unexpected results.

    • filter (::String) (defaults to: nil)

      Optional. A query filter.

      You can filter spaces by the space type (space_type).

      To filter by space type, you must specify valid enum value, such as SPACE or GROUP_CHAT (the space_type can't be SPACE_TYPE_UNSPECIFIED). To query for multiple space types, use the OR operator.

      For example, the following queries are valid:

      space_type = "SPACE"
      spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE"
      

      Invalid queries are rejected by the server with an INVALID_ARGUMENT error.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1711

def list_spaces request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListSpacesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.list_spaces..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.list_spaces.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.list_spaces.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.list_spaces request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_spaces, "spaces", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#loggerLogger

The logger used for request/response debug logging.

Returns:

  • (Logger)


389
390
391
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 389

def logger
  @chat_service_stub.logger
end

#move_section_item(request, options = nil) ⇒ ::Google::Apps::Chat::V1::MoveSectionItemResponse #move_section_item(name: nil, target_section: nil) ⇒ ::Google::Apps::Chat::V1::MoveSectionItemResponse

Moves an item from one section to another. For example, if a section contains spaces, this method can be used to move a space to a different section. For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::MoveSectionItemRequest.new

# Call the move_section_item method.
result = client.move_section_item request

# The returned object is of type Google::Apps::Chat::V1::MoveSectionItemResponse.
p result

Overloads:

  • #move_section_item(request, options = nil) ⇒ ::Google::Apps::Chat::V1::MoveSectionItemResponse

    Pass arguments to move_section_item via a request object, either of type MoveSectionItemRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::MoveSectionItemRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #move_section_item(name: nil, target_section: nil) ⇒ ::Google::Apps::Chat::V1::MoveSectionItemResponse

    Pass arguments to move_section_item via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. The resource name of the section item to move.

      Format: users/{user}/sections/{section}/items/{item}

    • target_section (::String) (defaults to: nil)

      Required. The resource name of the section to move the section item to.

      Format: users/{user}/sections/{section}

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5779

def move_section_item request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::MoveSectionItemRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.move_section_item..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.move_section_item.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.move_section_item.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.move_section_item request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#position_section(request, options = nil) ⇒ ::Google::Apps::Chat::V1::PositionSectionResponse #position_section(name: nil, sort_order: nil, relative_position: nil) ⇒ ::Google::Apps::Chat::V1::PositionSectionResponse

Changes the sort order of a section. For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::PositionSectionRequest.new

# Call the position_section method.
result = client.position_section request

# The returned object is of type Google::Apps::Chat::V1::PositionSectionResponse.
p result

Overloads:

  • #position_section(request, options = nil) ⇒ ::Google::Apps::Chat::V1::PositionSectionResponse

    Pass arguments to position_section via a request object, either of type PositionSectionRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::PositionSectionRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #position_section(name: nil, sort_order: nil, relative_position: nil) ⇒ ::Google::Apps::Chat::V1::PositionSectionResponse

    Pass arguments to position_section via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • name (::String) (defaults to: nil)

      Required. The resource name of the section to position.

      Format: users/{user}/sections/{section}

    • sort_order (::Integer) (defaults to: nil)

      Optional. The absolute position of the section in the list of sections. The position must be greater than 0. If the position is greater than the number of sections, the section will be appended to the end of the list. This operation inserts the section at the given position and shifts the original section at that position, and those below it, to the next position.

      Note: The following parameters are mutually exclusive: sort_order, relative_position. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.

    • relative_position (::Google::Apps::Chat::V1::PositionSectionRequest::Position) (defaults to: nil)

      Optional. The relative position of the section in the list of sections.

      Note: The following parameters are mutually exclusive: relative_position, sort_order. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5558

def position_section request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::PositionSectionRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.position_section..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.position_section.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.position_section.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.position_section request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#search_spaces(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space> #search_spaces(use_admin_access: nil, page_size: nil, page_token: nil, query: nil, order_by: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

Returns a list of spaces in a Google Workspace organization based on an administrator's search. In the request, set use_admin_access to true. For an example, see Search for and manage spaces.

Requires user authentication with administrator privileges and one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.admin.spaces.readonly
  • https://www.googleapis.com/auth/chat.admin.spaces

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::SearchSpacesRequest.new

# Call the search_spaces method.
result = client.search_spaces request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Apps::Chat::V1::Space.
  p item
end

Overloads:

  • #search_spaces(request, options = nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

    Pass arguments to search_spaces via a request object, either of type SearchSpacesRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::SearchSpacesRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #search_spaces(use_admin_access: nil, page_size: nil, page_token: nil, query: nil, order_by: nil) ⇒ ::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>

    Pass arguments to search_spaces via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • use_admin_access (::Boolean) (defaults to: nil)

      When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires either the chat.admin.spaces.readonly or chat.admin.spaces OAuth 2.0 scope.

      This method currently only supports admin access, thus only true is accepted for this field.

    • page_size (::Integer) (defaults to: nil)

      The maximum number of spaces to return. The service may return fewer than this value.

      If unspecified, at most 100 spaces are returned.

      The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.

    • page_token (::String) (defaults to: nil)

      A token, received from the previous search spaces call. Provide this parameter to retrieve the subsequent page.

      When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

    • query (::String) (defaults to: nil)

      Required. A search query.

      You can search by using the following parameters:

      • create_time
      • customer
      • display_name
      • external_user_allowed
      • last_active_time
      • space_history_state
      • space_type

      create_time and last_active_time accept a timestamp in RFC-3339 format and the supported comparison operators are: =, <, >, <=, >=.

      customer is required and is used to indicate which customer to fetch spaces from. customers/my_customer is the only supported value.

      display_name only accepts the HAS (:) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's display_name. For example, Fun Eve matches Fun event or The evening was fun, but not notFun event or even.

      external_user_allowed accepts either true or false.

      space_history_state only accepts values from the historyState field of a space resource.

      space_type is required and the only valid value is SPACE.

      Across different fields, only AND operators are supported. A valid example is space_type = "SPACE" AND display_name:"Hello" and an invalid example is space_type = "SPACE" OR display_name:"Hello".

      Among the same field, space_type doesn't support AND or OR operators. display_name, 'space_history_state', and 'external_user_allowed' only support OR operators. last_active_time and create_time support both AND and OR operators. AND can only be used to represent an interval, such as last_active_time < "2022-01-01T00:00:00+00:00" AND last_active_time > "2023-01-01T00:00:00+00:00".

      The following example queries are valid:

      customer = "customers/my_customer" AND space_type = "SPACE"
      
      customer = "customers/my_customer" AND space_type = "SPACE" AND
      display_name:"Hello World"
      
      customer = "customers/my_customer" AND space_type = "SPACE" AND
      (last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time >
      "2022-01-01T00:00:00+00:00")
      
      customer = "customers/my_customer" AND space_type = "SPACE" AND
      (display_name:"Hello World" OR display_name:"Fun event") AND
      (last_active_time > "2020-01-01T00:00:00+00:00" AND last_active_time <
      "2022-01-01T00:00:00+00:00")
      
      customer = "customers/my_customer" AND space_type = "SPACE" AND
      (create_time > "2019-01-01T00:00:00+00:00" AND create_time <
      "2020-01-01T00:00:00+00:00") AND (external_user_allowed = "true") AND
      (space_history_state = "HISTORY_ON" OR space_history_state = "HISTORY_OFF")
      
    • order_by (::String) (defaults to: nil)

      Optional. How the list of spaces is ordered.

      Supported attributes to order by are:

      • membership_count.joined_direct_human_user_count — Denotes the count of human users that have directly joined a space.
      • last_active_time — Denotes the time when last eligible item is added to any topic of this space.
      • create_time — Denotes the time of the space creation.

      Valid ordering operation values are:

      • ASC for ascending. Default value.

      • DESC for descending.

      The supported syntax are:

      • membership_count.joined_direct_human_user_count DESC
      • membership_count.joined_direct_human_user_count ASC
      • last_active_time DESC
      • last_active_time ASC
      • create_time DESC
      • create_time ASC

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1928

def search_spaces request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::SearchSpacesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.search_spaces..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.search_spaces.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.search_spaces.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.search_spaces request, options do |result, operation|
    result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :search_spaces, "spaces", request, result, options
    yield result, operation if block_given?
    throw :response, result
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#set_up_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space #set_up_space(space: nil, request_id: nil, memberships: nil) ⇒ ::Google::Apps::Chat::V1::Space

Creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn't be specified as a membership in the request. For an example, see Set up a space with initial members.

To specify the human members to add, add memberships with the appropriate membership.member.name. To add a human user, use users/{user}, where {user} can be the email address for the user. For users in the same Workspace organization {user} can also be the id for the person from the People API, or the id for the user in the Directory API. For example, if the People API Person profile ID for user@example.com is 123456789, you can add the user to the space by setting the membership.member.name to users/user@example.com or users/123456789.

To specify the Google groups to add, add memberships with the appropriate membership.group_member.name. To add or invite a Google group, use groups/{group}, where {group} is the id for the group from the Cloud Identity Groups API. For example, you can use Cloud Identity Groups lookup API to retrieve the ID 123456789 for group email group@example.com, then you can add the group to the space by setting the membership.group_member.name to groups/123456789. Group email is not supported, and Google groups can only be added as members in named spaces.

For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn't have permission to add some members, then those members aren't added to the created space.

To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn't created.

To create a DM between the calling user and the calling app, set Space.singleUserBotDm to true and don't specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see Invite or add a user or app to a space.

If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned.

Spaces with threaded replies aren't supported. If you receive the error message ALREADY_EXISTS when setting up a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.spaces.create
  • https://www.googleapis.com/auth/chat.spaces

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::SetUpSpaceRequest.new

# Call the set_up_space method.
result = client.set_up_space request

# The returned object is of type Google::Apps::Chat::V1::Space.
p result

Overloads:

  • #set_up_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to set_up_space via a request object, either of type SetUpSpaceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::SetUpSpaceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #set_up_space(space: nil, request_id: nil, memberships: nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to set_up_space via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • space (::Google::Apps::Chat::V1::Space, ::Hash) (defaults to: nil)

      Required. The Space.spaceType field is required.

      To create a space, set Space.spaceType to SPACE and set Space.displayName. If you receive the error message ALREADY_EXISTS when setting up a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

      To create a group chat, set Space.spaceType to GROUP_CHAT. Don't set Space.displayName.

      To create a 1:1 conversation between humans, set Space.spaceType to DIRECT_MESSAGE and set Space.singleUserBotDm to false. Don't set Space.displayName or Space.spaceDetails.

      To create an 1:1 conversation between a human and the calling Chat app, set Space.spaceType to DIRECT_MESSAGE and Space.singleUserBotDm to true. Don't set Space.displayName or Space.spaceDetails.

      If a DIRECT_MESSAGE space already exists, that space is returned instead of creating a new space.

    • request_id (::String) (defaults to: nil)

      Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error.

    • memberships (::Array<::Google::Apps::Chat::V1::Membership, ::Hash>) (defaults to: nil)

      Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically.

      The set currently allows up to 49 memberships (in addition to the caller).

      For human membership, the Membership.member field must contain a user with name populated (format: users/{user}) and type set to User.Type.HUMAN. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user}. For example, the user.name can be users/example@gmail.com. To invite Gmail users or users from external Google Workspace domains, user's email must be used for {user}.

      For Google group membership, the Membership.group_member field must contain a group with name populated (format groups/{group}). You can only add Google groups when setting Space.spaceType to SPACE.

      Optional when setting Space.spaceType to SPACE.

      Required when setting Space.spaceType to GROUP_CHAT, along with at least two memberships.

      Required when setting Space.spaceType to DIRECT_MESSAGE with a human user, along with exactly one membership.

      Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting Space.spaceType to DIRECT_MESSAGE and Space.singleUserBotDm to true).

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2380

def set_up_space request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::SetUpSpaceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.set_up_space..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.set_up_space.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.set_up_space.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.set_up_space request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#universe_domainString

The effective universe domain

Returns:

  • (String)


322
323
324
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 322

def universe_domain
  @chat_service_stub.universe_domain
end

#update_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership #update_membership(membership: nil, update_mask: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

Updates a membership. For an example, see Update a user's membership in a space.

Supports the following types of authentication:

  • App authentication with administrator approval and the authorization scope:

    • https://www.googleapis.com/auth/chat.app.memberships (only in spaces the app created)
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.memberships
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used:
      • https://www.googleapis.com/auth/chat.admin.memberships

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UpdateMembershipRequest.new

# Call the update_membership method.
result = client.update_membership request

# The returned object is of type Google::Apps::Chat::V1::Membership.
p result

Overloads:

  • #update_membership(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to update_membership via a request object, either of type UpdateMembershipRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UpdateMembershipRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_membership(membership: nil, update_mask: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Membership

    Pass arguments to update_membership via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • membership (::Google::Apps::Chat::V1::Membership, ::Hash) (defaults to: nil)

      Required. The membership to update. Only fields specified by update_mask are updated.

    • update_mask (::Google::Protobuf::FieldMask, ::Hash) (defaults to: nil)

      Required. The field paths to update. Separate multiple values with commas or use * to update all field paths.

      Currently supported field paths:

      • role
    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.memberships OAuth 2.0 scope.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 3330

def update_membership request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateMembershipRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_membership..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_membership.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_membership.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.update_membership request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Message #update_message(message: nil, update_mask: nil, allow_missing: nil) ⇒ ::Google::Apps::Chat::V1::Message

Updates a message. There's a difference between the patch and update methods. The patch method uses a patch request while the update method uses a put request. We recommend using the patch method. For an example, see Update a message.

Supports the following types of authentication:

  • App authentication with the authorization scope:

    • https://www.googleapis.com/auth/chat.bot
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)

When using app authentication, requests can only update messages created by the calling Chat app.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UpdateMessageRequest.new

# Call the update_message method.
result = client.update_message request

# The returned object is of type Google::Apps::Chat::V1::Message.
p result

Overloads:

  • #update_message(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Message

    Pass arguments to update_message via a request object, either of type UpdateMessageRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UpdateMessageRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_message(message: nil, update_mask: nil, allow_missing: nil) ⇒ ::Google::Apps::Chat::V1::Message

    Pass arguments to update_message via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • message (::Google::Apps::Chat::V1::Message, ::Hash) (defaults to: nil)

      Required. Message with fields updated.

    • update_mask (::Google::Protobuf::FieldMask, ::Hash) (defaults to: nil)

      Required. The field paths to update. Separate multiple values with commas or use * to update all field paths.

      Currently supported field paths:

    • allow_missing (::Boolean) (defaults to: nil)

      Optional. If true and the message isn't found, a new message is created and updateMask is ignored. The specified message ID must be client-assigned or the request fails.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1274

def update_message request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateMessageRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_message..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_message.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_message.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.update_message request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_section(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Section #update_section(section: nil, update_mask: nil) ⇒ ::Google::Apps::Chat::V1::Section

Updates a section. Only sections of type CUSTOM_SECTION can be updated. For details, see Create and organize sections in Google Chat.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.sections

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UpdateSectionRequest.new

# Call the update_section method.
result = client.update_section request

# The returned object is of type Google::Apps::Chat::V1::Section.
p result

Overloads:

  • #update_section(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Section

    Pass arguments to update_section via a request object, either of type UpdateSectionRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UpdateSectionRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_section(section: nil, update_mask: nil) ⇒ ::Google::Apps::Chat::V1::Section

    Pass arguments to update_section via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5335

def update_section request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateSectionRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_section..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_section.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_section.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.update_section request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space #update_space(space: nil, update_mask: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Space

Updates a space. For an example, see Update a space.

If you're updating the displayName field and receive the error message ALREADY_EXISTS, try a different display name.. An existing space within the Google Workspace organization might already use this display name.

Supports the following types of authentication:

  • App authentication with administrator approval and one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.app.spaces
  • User authentication with one of the following authorization scopes:

    • https://www.googleapis.com/auth/chat.spaces
    • https://www.googleapis.com/auth/chat.import (import mode spaces only)
    • User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scopes is used:
      • https://www.googleapis.com/auth/chat.admin.spaces

App authentication has the following limitations:

  • To update either space.predefined_permission_settings or space.permission_settings, the app must be the space creator.
  • Updating the space.access_settings.audience is not supported for app authentication.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UpdateSpaceRequest.new

# Call the update_space method.
result = client.update_space request

# The returned object is of type Google::Apps::Chat::V1::Space.
p result

Overloads:

  • #update_space(request, options = nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to update_space via a request object, either of type UpdateSpaceRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UpdateSpaceRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_space(space: nil, update_mask: nil, use_admin_access: nil) ⇒ ::Google::Apps::Chat::V1::Space

    Pass arguments to update_space via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • space (::Google::Apps::Chat::V1::Space, ::Hash) (defaults to: nil)

      Required. Space with fields to be updated. Space.name must be populated in the form of spaces/{space}. Only fields specified by update_mask are updated.

    • update_mask (::Google::Protobuf::FieldMask, ::Hash) (defaults to: nil)

      Required. The updated field paths, comma separated if there are multiple.

      You can update the following fields for a space:

      space_details: Updates the space's description and guidelines. You must pass both description and guidelines in the update request as SpaceDetails. If you only want to update one of the fields, pass the existing value for the other field.

      display_name: Only supports updating the display name for spaces where spaceType field is SPACE. If you receive the error message ALREADY_EXISTS, try a different value. An existing space within the Google Workspace organization might already use this display name.

      space_type: Only supports changing a GROUP_CHAT space type to SPACE. Include display_name together with space_type in the update mask and ensure that the specified space has a non-empty display name and the SPACE space type. Including the space_type mask and the SPACE type in the specified space when updating the display name is optional if the existing space already has the SPACE type. Trying to update the space type in other ways results in an invalid argument error. space_type is not supported with useAdminAccess.

      space_history_state: Updates space history settings by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. space_history_state is not supported with useAdminAccess.

      access_settings.audience: Updates the access setting of who can discover the space, join the space, and preview the messages in named space where spaceType field is SPACE. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in import mode. To learn more, see Make a space discoverable to specific users. access_settings.audience is not supported with useAdminAccess.

      permission_settings: Supports changing the permission settings of a space. When updating permission settings, you can only specify permissionSettings field masks; you cannot update other field masks at the same time. The supported field masks include:

      • permission_settings.manageMembersAndGroups
      • permission_settings.modifySpaceDetails
      • permission_settings.toggleHistory
      • permission_settings.useAtMentionAll
      • permission_settings.manageApps
      • permission_settings.manageWebhooks
      • permission_settings.replyMessages
    • use_admin_access (::Boolean) (defaults to: nil)

      Optional. When true, the method runs using the user's Google Workspace administrator privileges.

      The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege.

      Requires the chat.admin.spaces OAuth 2.0 scope.

      Some FieldMask values are not supported using admin access. For details, see the description of update_mask.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 2569

def update_space request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateSpaceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_space..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_space.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_space.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.update_space request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_space_notification_setting(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting #update_space_notification_setting(space_notification_setting: nil, update_mask: nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting

Updates the space notification setting. For an example, see Update the caller's space notification setting.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.spacesettings

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UpdateSpaceNotificationSettingRequest.new

# Call the update_space_notification_setting method.
result = client.update_space_notification_setting request

# The returned object is of type Google::Apps::Chat::V1::SpaceNotificationSetting.
p result

Overloads:

  • #update_space_notification_setting(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting

    Pass arguments to update_space_notification_setting via a request object, either of type UpdateSpaceNotificationSettingRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UpdateSpaceNotificationSettingRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_space_notification_setting(space_notification_setting: nil, update_mask: nil) ⇒ ::Google::Apps::Chat::V1::SpaceNotificationSetting

    Pass arguments to update_space_notification_setting via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • space_notification_setting (::Google::Apps::Chat::V1::SpaceNotificationSetting, ::Hash) (defaults to: nil)

      Required. The resource name for the space notification settings must be populated in the form of users/{user}/spaces/{space}/spaceNotificationSetting. Only fields specified by update_mask are updated.

    • update_mask (::Google::Protobuf::FieldMask, ::Hash) (defaults to: nil)

      Required. Supported field paths:

      • notification_setting

      • mute_setting

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 5056

def update_space_notification_setting request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateSpaceNotificationSettingRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_space_notification_setting..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_space_notification_setting.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_space_notification_setting.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.update_space_notification_setting request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#update_space_read_state(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState #update_space_read_state(space_read_state: nil, update_mask: nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState

Updates a user's read state within a space, used to identify read and unread messages. For an example, see Update a user's space read state.

Requires user authentication with the authorization scope:

  • https://www.googleapis.com/auth/chat.users.readstate

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UpdateSpaceReadStateRequest.new

# Call the update_space_read_state method.
result = client.update_space_read_state request

# The returned object is of type Google::Apps::Chat::V1::SpaceReadState.
p result

Overloads:

  • #update_space_read_state(request, options = nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState

    Pass arguments to update_space_read_state via a request object, either of type UpdateSpaceReadStateRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UpdateSpaceReadStateRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #update_space_read_state(space_read_state: nil, update_mask: nil) ⇒ ::Google::Apps::Chat::V1::SpaceReadState

    Pass arguments to update_space_read_state via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • space_read_state (::Google::Apps::Chat::V1::SpaceReadState, ::Hash) (defaults to: nil)

      Required. The space read state and fields to update.

      Only supports updating read state for the calling user.

      To refer to the calling user, set one of the following:

      • The me alias. For example, users/me/spaces/{space}/spaceReadState.

      • Their Workspace email address. For example, users/user@example.com/spaces/{space}/spaceReadState.

      • Their user id. For example, users/123456789/spaces/{space}/spaceReadState.

      Format: users/{user}/spaces/{space}/spaceReadState

    • update_mask (::Google::Protobuf::FieldMask, ::Hash) (defaults to: nil)

      Required. The field paths to update. Currently supported field paths:

      • last_read_time

      When the last_read_time is before the latest message create time, the space appears as unread in the UI.

      To mark the space as read, set last_read_time to any value later (larger) than the latest message create time. The last_read_time is coerced to match the latest message create time. Note that the space read state only affects the read state of messages that are visible in the space's top-level conversation. Replies in threads are unaffected by this timestamp, and instead rely on the thread read state.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 4446

def update_space_read_state request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateSpaceReadStateRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.update_space_read_state..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.update_space_read_state.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.update_space_read_state.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.update_space_read_state request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end

#upload_attachment(request, options = nil) ⇒ ::Google::Apps::Chat::V1::UploadAttachmentResponse #upload_attachment(parent: nil, filename: nil) ⇒ ::Google::Apps::Chat::V1::UploadAttachmentResponse

Uploads an attachment. For an example, see Upload media as a file attachment.

Requires user authentication with one of the following authorization scopes:

  • https://www.googleapis.com/auth/chat.messages.create
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.import (import mode spaces only)

You can upload attachments up to 200 MB. Certain file types aren't supported. For details, see File types blocked by Google Chat.

Examples:

Basic example

require "google/apps/chat/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Apps::Chat::V1::ChatService::Rest::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Apps::Chat::V1::UploadAttachmentRequest.new

# Call the upload_attachment method.
result = client.upload_attachment request

# The returned object is of type Google::Apps::Chat::V1::UploadAttachmentResponse.
p result

Overloads:

  • #upload_attachment(request, options = nil) ⇒ ::Google::Apps::Chat::V1::UploadAttachmentResponse

    Pass arguments to upload_attachment via a request object, either of type UploadAttachmentRequest or an equivalent Hash.

    Parameters:

    • request (::Google::Apps::Chat::V1::UploadAttachmentRequest, ::Hash)

      A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.

    • options (::Gapic::CallOptions, ::Hash) (defaults to: nil)

      Overrides the default settings for this call, e.g, timeout, retries etc. Optional.

  • #upload_attachment(parent: nil, filename: nil) ⇒ ::Google::Apps::Chat::V1::UploadAttachmentResponse

    Pass arguments to upload_attachment via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).

    Parameters:

    • parent (::String) (defaults to: nil)

      Required. Resource name of the Chat space in which the attachment is uploaded. Format "spaces/{space}".

    • filename (::String) (defaults to: nil)

      Required. The filename of the attachment, including the file extension.

Yields:

  • (result, operation)

    Access the result along with the TransportOperation object

Yield Parameters:

Returns:

Raises:

  • (::Google::Cloud::Error)

    if the REST call is aborted.



1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
# File 'lib/google/apps/chat/v1/chat_service/rest/client.rb', line 1574

def upload_attachment request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UploadAttachmentRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
   = @config.rpcs.upload_attachment..to_h

  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  [:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Apps::Chat::V1::VERSION,
    transports_version_send: [:rest]

  [:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  [:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  options.apply_defaults timeout:      @config.rpcs.upload_attachment.timeout,
                         metadata:     ,
                         retry_policy: @config.rpcs.upload_attachment.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.,
                         retry_policy: @config.retry_policy

  @chat_service_stub.upload_attachment request, options do |result, operation|
    yield result, operation if block_given?
  end
rescue ::Gapic::Rest::Error => e
  raise ::Google::Cloud::Error.from_error(e)
end