google-api-client 0.9.pre4 → 0.9.pre5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +9 -0
  4. data/README.md +11 -1
  5. data/api_names.yaml +1 -0
  6. data/api_names_out.yaml +163 -98
  7. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  8. data/generated/google/apis/analytics_v3.rb +1 -1
  9. data/generated/google/apis/analytics_v3/classes.rb +7 -0
  10. data/generated/google/apis/analytics_v3/representations.rb +1 -0
  11. data/generated/google/apis/analytics_v3/service.rb +42 -0
  12. data/generated/google/apis/appstate_v1.rb +1 -1
  13. data/generated/google/apis/bigquery_v2.rb +1 -1
  14. data/generated/google/apis/bigquery_v2/classes.rb +23 -66
  15. data/generated/google/apis/bigquery_v2/representations.rb +1 -17
  16. data/generated/google/apis/bigquery_v2/service.rb +6 -6
  17. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  18. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  19. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  20. data/generated/google/apis/deploymentmanager_v2/classes.rb +5 -4
  21. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  22. data/generated/google/apis/drive_v2.rb +1 -1
  23. data/generated/google/apis/drive_v2/service.rb +4 -3
  24. data/generated/google/apis/drive_v3.rb +1 -1
  25. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  26. data/generated/google/apis/games_management_v1management.rb +1 -1
  27. data/generated/google/apis/games_v1.rb +1 -1
  28. data/generated/google/apis/genomics_v1.rb +1 -1
  29. data/generated/google/apis/gmail_v1.rb +1 -1
  30. data/generated/google/apis/gmail_v1/classes.rb +2 -2
  31. data/generated/google/apis/plus_domains_v1.rb +1 -1
  32. data/generated/google/apis/plus_v1.rb +1 -1
  33. data/generated/google/apis/plus_v1/classes.rb +0 -497
  34. data/generated/google/apis/plus_v1/representations.rb +0 -121
  35. data/generated/google/apis/plus_v1/service.rb +0 -101
  36. data/generated/google/apis/replicapoolupdater_v1beta1.rb +1 -1
  37. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +4 -4
  38. data/generated/google/apis/webmasters_v3.rb +3 -3
  39. data/generated/google/apis/webmasters_v3/service.rb +2 -2
  40. data/generated/google/apis/youtube_v3.rb +1 -1
  41. data/generated/google/apis/youtube_v3/classes.rb +942 -64
  42. data/generated/google/apis/youtube_v3/representations.rb +307 -0
  43. data/generated/google/apis/youtube_v3/service.rb +443 -1
  44. data/google-api-client.gemspec +1 -0
  45. data/lib/google/apis/core/api_command.rb +2 -2
  46. data/lib/google/apis/core/base_service.rb +2 -0
  47. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  48. data/lib/google/apis/core/http_command.rb +16 -1
  49. data/lib/google/apis/core/json_representation.rb +3 -2
  50. data/lib/google/apis/core/upload.rb +7 -1
  51. data/lib/google/apis/options.rb +4 -2
  52. data/lib/google/apis/version.rb +1 -1
  53. data/samples/Gemfile +7 -0
  54. data/samples/README.md +51 -0
  55. data/samples/google-api-samples +32 -0
  56. data/samples/lib/base_cli.rb +94 -0
  57. data/samples/lib/samples/analytics.rb +62 -0
  58. data/samples/lib/samples/calendar.rb +83 -0
  59. data/samples/lib/samples/drive.rb +82 -0
  60. data/samples/lib/samples/gmail.rb +50 -0
  61. data/samples/lib/samples/pubsub.rb +114 -0
  62. data/samples/lib/samples/translate.rb +44 -0
  63. data/samples/lib/samples/you_tube.rb +44 -0
  64. data/spec/google/apis/core/api_command_spec.rb +39 -0
  65. data/spec/google/apis/core/http_command_spec.rb +9 -0
  66. data/spec/google/apis/core/upload_spec.rb +14 -0
  67. data/spec/google/apis/options_spec.rb +0 -8
  68. data/spec/integration_tests/adsense_spec.rb +1 -0
  69. data/spec/integration_tests/pubsub_spec.rb +3 -3
  70. data/spec/integration_tests/url_shortener_spec.rb +14 -0
  71. data/spec/spec_helper.rb +33 -6
  72. data/{samples/translate/translate.rb → spec/spec_helper/load_path_spec.rb} +15 -6
  73. metadata +30 -6
  74. data/samples/calendar/calendar.rb +0 -43
  75. data/samples/drive/drive.rb +0 -47
  76. data/samples/pubsub/pubsub.rb +0 -51
@@ -162,18 +162,6 @@ module Google
162
162
  class Representation < Google::Apis::Core::JsonRepresentation; end
163
163
  end
164
164
 
165
- class ItemScope
166
- class Representation < Google::Apis::Core::JsonRepresentation; end
167
- end
168
-
169
- class Moment
170
- class Representation < Google::Apis::Core::JsonRepresentation; end
171
- end
172
-
173
- class MomentsFeed
174
- class Representation < Google::Apis::Core::JsonRepresentation; end
175
- end
176
-
177
165
  class PeopleFeed
178
166
  class Representation < Google::Apis::Core::JsonRepresentation; end
179
167
  end
@@ -622,115 +610,6 @@ module Google
622
610
  end
623
611
  end
624
612
 
625
- class ItemScope
626
- # @private
627
- class Representation < Google::Apis::Core::JsonRepresentation
628
- property :about, as: 'about', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
629
-
630
- collection :additional_name, as: 'additionalName'
631
- property :address, as: 'address', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
632
-
633
- property :address_country, as: 'addressCountry'
634
- property :address_locality, as: 'addressLocality'
635
- property :address_region, as: 'addressRegion'
636
- collection :associated_media, as: 'associated_media', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
637
-
638
- property :attendee_count, as: 'attendeeCount'
639
- collection :attendees, as: 'attendees', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
640
-
641
- property :audio, as: 'audio', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
642
-
643
- collection :author, as: 'author', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
644
-
645
- property :best_rating, as: 'bestRating'
646
- property :birth_date, as: 'birthDate'
647
- property :by_artist, as: 'byArtist', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
648
-
649
- property :caption, as: 'caption'
650
- property :content_size, as: 'contentSize'
651
- property :content_url, as: 'contentUrl'
652
- collection :contributor, as: 'contributor', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
653
-
654
- property :date_created, as: 'dateCreated'
655
- property :date_modified, as: 'dateModified'
656
- property :date_published, as: 'datePublished'
657
- property :description, as: 'description'
658
- property :duration, as: 'duration'
659
- property :embed_url, as: 'embedUrl'
660
- property :end_date, as: 'endDate'
661
- property :family_name, as: 'familyName'
662
- property :gender, as: 'gender'
663
- property :geo, as: 'geo', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
664
-
665
- property :given_name, as: 'givenName'
666
- property :height, as: 'height'
667
- property :id, as: 'id'
668
- property :image, as: 'image'
669
- property :in_album, as: 'inAlbum', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
670
-
671
- property :kind, as: 'kind'
672
- property :latitude, as: 'latitude'
673
- property :location, as: 'location', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
674
-
675
- property :longitude, as: 'longitude'
676
- property :name, as: 'name'
677
- property :part_of_tv_series, as: 'partOfTVSeries', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
678
-
679
- collection :performers, as: 'performers', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
680
-
681
- property :player_type, as: 'playerType'
682
- property :post_office_box_number, as: 'postOfficeBoxNumber'
683
- property :postal_code, as: 'postalCode'
684
- property :rating_value, as: 'ratingValue'
685
- property :review_rating, as: 'reviewRating', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
686
-
687
- property :start_date, as: 'startDate'
688
- property :street_address, as: 'streetAddress'
689
- property :text, as: 'text'
690
- property :thumbnail, as: 'thumbnail', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
691
-
692
- property :thumbnail_url, as: 'thumbnailUrl'
693
- property :ticker_symbol, as: 'tickerSymbol'
694
- property :type, as: 'type'
695
- property :url, as: 'url'
696
- property :width, as: 'width'
697
- property :worst_rating, as: 'worstRating'
698
- end
699
- end
700
-
701
- class Moment
702
- # @private
703
- class Representation < Google::Apis::Core::JsonRepresentation
704
- property :id, as: 'id'
705
- property :kind, as: 'kind'
706
- property :object, as: 'object', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
707
-
708
- property :result, as: 'result', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
709
-
710
- property :start_date, as: 'startDate', type: DateTime
711
-
712
- property :target, as: 'target', class: Google::Apis::PlusV1::ItemScope, decorator: Google::Apis::PlusV1::ItemScope::Representation
713
-
714
- property :type, as: 'type'
715
- end
716
- end
717
-
718
- class MomentsFeed
719
- # @private
720
- class Representation < Google::Apis::Core::JsonRepresentation
721
- property :etag, as: 'etag'
722
- collection :items, as: 'items', class: Google::Apis::PlusV1::Moment, decorator: Google::Apis::PlusV1::Moment::Representation
723
-
724
- property :kind, as: 'kind'
725
- property :next_link, as: 'nextLink'
726
- property :next_page_token, as: 'nextPageToken'
727
- property :self_link, as: 'selfLink'
728
- property :title, as: 'title'
729
- property :updated, as: 'updated', type: DateTime
730
-
731
- end
732
- end
733
-
734
613
  class PeopleFeed
735
614
  # @private
736
615
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -271,107 +271,6 @@ module Google
271
271
  execute_or_queue_command(command, &block)
272
272
  end
273
273
 
274
- # Record a moment representing a user's action such as making a purchase or
275
- # commenting on a blog.
276
- # @param [String] user_id
277
- # The ID of the user to record actions for. The only valid values are "me" and
278
- # the ID of the authenticated user.
279
- # @param [String] collection
280
- # The collection to which to write moments.
281
- # @param [Google::Apis::PlusV1::Moment] moment_object
282
- # @param [Boolean] debug
283
- # Return the moment as written. Should be used only for debugging.
284
- # @param [String] fields
285
- # Selector specifying which fields to include in a partial response.
286
- # @param [String] quota_user
287
- # Available to use for quota purposes for server-side applications. Can be any
288
- # arbitrary string assigned to a user, but should not exceed 40 characters.
289
- # Overrides userIp if both are provided.
290
- # @param [String] user_ip
291
- # IP address of the site where the request originates. Use this if you want to
292
- # enforce per-user limits.
293
- # @param [Google::Apis::RequestOptions] options
294
- # Request-specific options
295
- #
296
- # @yield [result, err] Result & error if block supplied
297
- # @yieldparam result [Google::Apis::PlusV1::Moment] parsed result object
298
- # @yieldparam err [StandardError] error object if request failed
299
- #
300
- # @return [Google::Apis::PlusV1::Moment]
301
- #
302
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
303
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
304
- # @raise [Google::Apis::AuthorizationError] Authorization is required
305
- def insert_moment(user_id, collection, moment_object = nil, debug: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
306
- command = make_simple_command(:post, 'people/{userId}/moments/{collection}', options)
307
- command.request_representation = Google::Apis::PlusV1::Moment::Representation
308
- command.request_object = moment_object
309
- command.response_representation = Google::Apis::PlusV1::Moment::Representation
310
- command.response_class = Google::Apis::PlusV1::Moment
311
- command.params['userId'] = user_id unless user_id.nil?
312
- command.params['collection'] = collection unless collection.nil?
313
- command.query['debug'] = debug unless debug.nil?
314
- command.query['fields'] = fields unless fields.nil?
315
- command.query['quotaUser'] = quota_user unless quota_user.nil?
316
- command.query['userIp'] = user_ip unless user_ip.nil?
317
- execute_or_queue_command(command, &block)
318
- end
319
-
320
- # List all of the moments for a particular user.
321
- # @param [String] user_id
322
- # The ID of the user to get moments for. The special value "me" can be used to
323
- # indicate the authenticated user.
324
- # @param [String] collection
325
- # The collection of moments to list.
326
- # @param [Fixnum] max_results
327
- # The maximum number of moments to include in the response, which is used for
328
- # paging. For any response, the actual number returned might be less than the
329
- # specified maxResults.
330
- # @param [String] page_token
331
- # The continuation token, which is used to page through large result sets. To
332
- # get the next page of results, set this parameter to the value of "
333
- # nextPageToken" from the previous response.
334
- # @param [String] target_url
335
- # Only moments containing this targetUrl will be returned.
336
- # @param [String] type
337
- # Only moments of this type will be returned.
338
- # @param [String] fields
339
- # Selector specifying which fields to include in a partial response.
340
- # @param [String] quota_user
341
- # Available to use for quota purposes for server-side applications. Can be any
342
- # arbitrary string assigned to a user, but should not exceed 40 characters.
343
- # Overrides userIp if both are provided.
344
- # @param [String] user_ip
345
- # IP address of the site where the request originates. Use this if you want to
346
- # enforce per-user limits.
347
- # @param [Google::Apis::RequestOptions] options
348
- # Request-specific options
349
- #
350
- # @yield [result, err] Result & error if block supplied
351
- # @yieldparam result [Google::Apis::PlusV1::MomentsFeed] parsed result object
352
- # @yieldparam err [StandardError] error object if request failed
353
- #
354
- # @return [Google::Apis::PlusV1::MomentsFeed]
355
- #
356
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
357
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
358
- # @raise [Google::Apis::AuthorizationError] Authorization is required
359
- def list_moments(user_id, collection, max_results: nil, page_token: nil, target_url: nil, type: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
360
- command = make_simple_command(:get, 'people/{userId}/moments/{collection}', options)
361
- command.response_representation = Google::Apis::PlusV1::MomentsFeed::Representation
362
- command.response_class = Google::Apis::PlusV1::MomentsFeed
363
- command.params['userId'] = user_id unless user_id.nil?
364
- command.params['collection'] = collection unless collection.nil?
365
- command.query['maxResults'] = max_results unless max_results.nil?
366
- command.query['pageToken'] = page_token unless page_token.nil?
367
- command.query['targetUrl'] = target_url unless target_url.nil?
368
- command.query['type'] = type unless type.nil?
369
- command.query['fields'] = fields unless fields.nil?
370
- command.query['quotaUser'] = quota_user unless quota_user.nil?
371
- command.query['userIp'] = user_ip unless user_ip.nil?
372
- execute_or_queue_command(command, &block)
373
- end
374
-
375
274
  # Get a person's profile. If your app uses scope https://www.googleapis.com/auth/
376
275
  # plus.login, this method is guaranteed to return ageRange and language.
377
276
  # @param [String] user_id
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/compute/docs/instance-groups/manager/#applying_rolling_updates_using_the_updater_service
27
27
  module ReplicapoolupdaterV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20150904'
29
+ REVISION = '20160107'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -223,7 +223,7 @@ module Google
223
223
  # @return [String]
224
224
  attr_accessor :region
225
225
 
226
- # [Output Only] Server defined URL for the resource.
226
+ # [Output Only] The fully qualified URL for the resource.
227
227
  # Corresponds to the JSON property `selfLink`
228
228
  # @return [String]
229
229
  attr_accessor :self_link
@@ -425,8 +425,8 @@ module Google
425
425
  # @return [Array<Google::Apis::ReplicapoolupdaterV1beta1::Operation>]
426
426
  attr_accessor :items
427
427
 
428
- # [Output Only] Type of resource. Always replicapoolupdater#operations for
429
- # Operations resource.
428
+ # [Output Only] Type of resource. Always replicapoolupdater#operationList for
429
+ # OperationList resources.
430
430
  # Corresponds to the JSON property `kind`
431
431
  # @return [String]
432
432
  attr_accessor :kind
@@ -436,7 +436,7 @@ module Google
436
436
  # @return [String]
437
437
  attr_accessor :next_page_token
438
438
 
439
- # [Output Only] Server-defined URL for this resource.
439
+ # [Output Only] The fully qualified URL for the resource.
440
440
  # Corresponds to the JSON property `selfLink`
441
441
  # @return [String]
442
442
  attr_accessor :self_link
@@ -18,14 +18,14 @@ require 'google/apis/webmasters_v3/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Webmaster Tools API
21
+ # Search Console API
22
22
  #
23
- # Lets you view Google Webmaster Tools data for your verified sites.
23
+ # Lets you view Google Search Console data for your verified sites.
24
24
  #
25
25
  # @see https://developers.google.com/webmaster-tools/
26
26
  module WebmastersV3
27
27
  VERSION = 'V3'
28
- REVISION = '20151102'
28
+ REVISION = '20151229'
29
29
 
30
30
  # View and manage Search Console data for your verified sites
31
31
  AUTH_WEBMASTERS = 'https://www.googleapis.com/auth/webmasters'
@@ -20,9 +20,9 @@ require 'google/apis/errors'
20
20
  module Google
21
21
  module Apis
22
22
  module WebmastersV3
23
- # Webmaster Tools API
23
+ # Search Console API
24
24
  #
25
- # Lets you view Google Webmaster Tools data for your verified sites.
25
+ # Lets you view Google Search Console data for your verified sites.
26
26
  #
27
27
  # @example
28
28
  # require 'google/apis/webmasters_v3'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/youtube/v3
26
26
  module YoutubeV3
27
27
  VERSION = 'V3'
28
- REVISION = '20151209'
28
+ REVISION = '20160106'
29
29
 
30
30
  # Manage your YouTube account
31
31
  AUTH_YOUTUBE = 'https://www.googleapis.com/auth/youtube'
@@ -1358,6 +1358,43 @@ module Google
1358
1358
  end
1359
1359
  end
1360
1360
 
1361
+ #
1362
+ class ChannelProfileDetails
1363
+ include Google::Apis::Core::Hashable
1364
+
1365
+ # The YouTube channel ID.
1366
+ # Corresponds to the JSON property `channelId`
1367
+ # @return [String]
1368
+ attr_accessor :channel_id
1369
+
1370
+ # The channel's URL.
1371
+ # Corresponds to the JSON property `channelUrl`
1372
+ # @return [String]
1373
+ attr_accessor :channel_url
1374
+
1375
+ # The channel's display name.
1376
+ # Corresponds to the JSON property `displayName`
1377
+ # @return [String]
1378
+ attr_accessor :display_name
1379
+
1380
+ # The channels's avatar URL.
1381
+ # Corresponds to the JSON property `profileImageUrl`
1382
+ # @return [String]
1383
+ attr_accessor :profile_image_url
1384
+
1385
+ def initialize(**args)
1386
+ update!(**args)
1387
+ end
1388
+
1389
+ # Update properties of this object
1390
+ def update!(**args)
1391
+ @channel_id = args[:channel_id] unless args[:channel_id].nil?
1392
+ @channel_url = args[:channel_url] unless args[:channel_url].nil?
1393
+ @display_name = args[:display_name] unless args[:display_name].nil?
1394
+ @profile_image_url = args[:profile_image_url] unless args[:profile_image_url].nil?
1395
+ end
1396
+ end
1397
+
1361
1398
  #
1362
1399
  class ChannelSection
1363
1400
  include Google::Apis::Core::Hashable
@@ -2691,6 +2728,168 @@ module Google
2691
2728
  end
2692
2729
  end
2693
2730
 
2731
+ # A fanFundingEvent resource represents a fan funding event on a YouTube channel.
2732
+ # Fan funding events occur when a user gives one-time monetary support to the
2733
+ # channel owner.
2734
+ class FanFundingEvent
2735
+ include Google::Apis::Core::Hashable
2736
+
2737
+ # Etag of this resource.
2738
+ # Corresponds to the JSON property `etag`
2739
+ # @return [String]
2740
+ attr_accessor :etag
2741
+
2742
+ # The ID that YouTube assigns to uniquely identify the fan funding event.
2743
+ # Corresponds to the JSON property `id`
2744
+ # @return [String]
2745
+ attr_accessor :id
2746
+
2747
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
2748
+ # fanFundingEvent".
2749
+ # Corresponds to the JSON property `kind`
2750
+ # @return [String]
2751
+ attr_accessor :kind
2752
+
2753
+ # The snippet object contains basic details about the fan funding event.
2754
+ # Corresponds to the JSON property `snippet`
2755
+ # @return [Google::Apis::YoutubeV3::FanFundingEventSnippet]
2756
+ attr_accessor :snippet
2757
+
2758
+ def initialize(**args)
2759
+ update!(**args)
2760
+ end
2761
+
2762
+ # Update properties of this object
2763
+ def update!(**args)
2764
+ @etag = args[:etag] unless args[:etag].nil?
2765
+ @id = args[:id] unless args[:id].nil?
2766
+ @kind = args[:kind] unless args[:kind].nil?
2767
+ @snippet = args[:snippet] unless args[:snippet].nil?
2768
+ end
2769
+ end
2770
+
2771
+ #
2772
+ class FanFundingEventListResponse
2773
+ include Google::Apis::Core::Hashable
2774
+
2775
+ # Etag of this resource.
2776
+ # Corresponds to the JSON property `etag`
2777
+ # @return [String]
2778
+ attr_accessor :etag
2779
+
2780
+ # Serialized EventId of the request which produced this response.
2781
+ # Corresponds to the JSON property `eventId`
2782
+ # @return [String]
2783
+ attr_accessor :event_id
2784
+
2785
+ # A list of fan funding events that match the request criteria.
2786
+ # Corresponds to the JSON property `items`
2787
+ # @return [Array<Google::Apis::YoutubeV3::FanFundingEvent>]
2788
+ attr_accessor :items
2789
+
2790
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
2791
+ # fanFundingEventListResponse".
2792
+ # Corresponds to the JSON property `kind`
2793
+ # @return [String]
2794
+ attr_accessor :kind
2795
+
2796
+ # The token that can be used as the value of the pageToken parameter to retrieve
2797
+ # the next page in the result set.
2798
+ # Corresponds to the JSON property `nextPageToken`
2799
+ # @return [String]
2800
+ attr_accessor :next_page_token
2801
+
2802
+ # Paging details for lists of resources, including total number of items
2803
+ # available and number of resources returned in a single page.
2804
+ # Corresponds to the JSON property `pageInfo`
2805
+ # @return [Google::Apis::YoutubeV3::PageInfo]
2806
+ attr_accessor :page_info
2807
+
2808
+ # Stub token pagination template to suppress results.
2809
+ # Corresponds to the JSON property `tokenPagination`
2810
+ # @return [Google::Apis::YoutubeV3::TokenPagination]
2811
+ attr_accessor :token_pagination
2812
+
2813
+ # The visitorId identifies the visitor.
2814
+ # Corresponds to the JSON property `visitorId`
2815
+ # @return [String]
2816
+ attr_accessor :visitor_id
2817
+
2818
+ def initialize(**args)
2819
+ update!(**args)
2820
+ end
2821
+
2822
+ # Update properties of this object
2823
+ def update!(**args)
2824
+ @etag = args[:etag] unless args[:etag].nil?
2825
+ @event_id = args[:event_id] unless args[:event_id].nil?
2826
+ @items = args[:items] unless args[:items].nil?
2827
+ @kind = args[:kind] unless args[:kind].nil?
2828
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2829
+ @page_info = args[:page_info] unless args[:page_info].nil?
2830
+ @token_pagination = args[:token_pagination] unless args[:token_pagination].nil?
2831
+ @visitor_id = args[:visitor_id] unless args[:visitor_id].nil?
2832
+ end
2833
+ end
2834
+
2835
+ #
2836
+ class FanFundingEventSnippet
2837
+ include Google::Apis::Core::Hashable
2838
+
2839
+ # The amount of funding in micros of fund_currency. e.g., 1 is represented
2840
+ # Corresponds to the JSON property `amountMicros`
2841
+ # @return [String]
2842
+ attr_accessor :amount_micros
2843
+
2844
+ # Channel id where the funding event occurred.
2845
+ # Corresponds to the JSON property `channelId`
2846
+ # @return [String]
2847
+ attr_accessor :channel_id
2848
+
2849
+ # The text contents of the comment left by the user.
2850
+ # Corresponds to the JSON property `commentText`
2851
+ # @return [String]
2852
+ attr_accessor :comment_text
2853
+
2854
+ # The date and time when the funding occurred. The value is specified in ISO
2855
+ # 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
2856
+ # Corresponds to the JSON property `createdAt`
2857
+ # @return [DateTime]
2858
+ attr_accessor :created_at
2859
+
2860
+ # The currency in which the fund was made. ISO 4217.
2861
+ # Corresponds to the JSON property `currency`
2862
+ # @return [String]
2863
+ attr_accessor :currency
2864
+
2865
+ # A rendered string that displays the fund amount and currency (e.g., "$1.00").
2866
+ # The string is rendered for the given language.
2867
+ # Corresponds to the JSON property `displayString`
2868
+ # @return [String]
2869
+ attr_accessor :display_string
2870
+
2871
+ # Details about the supporter. Only filled if the event was made public by the
2872
+ # user.
2873
+ # Corresponds to the JSON property `supporterDetails`
2874
+ # @return [Google::Apis::YoutubeV3::ChannelProfileDetails]
2875
+ attr_accessor :supporter_details
2876
+
2877
+ def initialize(**args)
2878
+ update!(**args)
2879
+ end
2880
+
2881
+ # Update properties of this object
2882
+ def update!(**args)
2883
+ @amount_micros = args[:amount_micros] unless args[:amount_micros].nil?
2884
+ @channel_id = args[:channel_id] unless args[:channel_id].nil?
2885
+ @comment_text = args[:comment_text] unless args[:comment_text].nil?
2886
+ @created_at = args[:created_at] unless args[:created_at].nil?
2887
+ @currency = args[:currency] unless args[:currency].nil?
2888
+ @display_string = args[:display_string] unless args[:display_string].nil?
2889
+ @supporter_details = args[:supporter_details] unless args[:supporter_details].nil?
2890
+ end
2891
+ end
2892
+
2694
2893
  # Geographical coordinates of a point, in WGS84.
2695
2894
  class GeoPoint
2696
2895
  include Google::Apis::Core::Hashable
@@ -3516,9 +3715,16 @@ module Google
3516
3715
  # @return [String]
3517
3716
  attr_accessor :bound_stream_id
3518
3717
 
3519
- # This setting indicates whether closed captioning is enabled for this broadcast.
3520
- # The ingestion URL of the closed captions is returned through the liveStreams
3521
- # API.
3718
+ #
3719
+ # Corresponds to the JSON property `closedCaptionsType`
3720
+ # @return [String]
3721
+ attr_accessor :closed_captions_type
3722
+
3723
+ # This setting indicates whether HTTP POST closed captioning is enabled for this
3724
+ # broadcast. The ingestion URL of the closed captions is returned through the
3725
+ # liveStreams API. This is mutually exclusive with using the
3726
+ # closed_captions_type property, and is equivalent to setting
3727
+ # closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
3522
3728
  # Corresponds to the JSON property `enableClosedCaptions`
3523
3729
  # @return [Boolean]
3524
3730
  attr_accessor :enable_closed_captions
@@ -3591,6 +3797,7 @@ module Google
3591
3797
  # Update properties of this object
3592
3798
  def update!(**args)
3593
3799
  @bound_stream_id = args[:bound_stream_id] unless args[:bound_stream_id].nil?
3800
+ @closed_captions_type = args[:closed_captions_type] unless args[:closed_captions_type].nil?
3594
3801
  @enable_closed_captions = args[:enable_closed_captions] unless args[:enable_closed_captions].nil?
3595
3802
  @enable_content_encryption = args[:enable_content_encryption] unless args[:enable_content_encryption].nil?
3596
3803
  @enable_dvr = args[:enable_dvr] unless args[:enable_dvr].nil?
@@ -3788,7 +3995,490 @@ module Google
3788
3995
  # broadcast.
3789
3996
  # Corresponds to the JSON property `totalChatCount`
3790
3997
  # @return [String]
3791
- attr_accessor :total_chat_count
3998
+ attr_accessor :total_chat_count
3999
+
4000
+ def initialize(**args)
4001
+ update!(**args)
4002
+ end
4003
+
4004
+ # Update properties of this object
4005
+ def update!(**args)
4006
+ @concurrent_viewers = args[:concurrent_viewers] unless args[:concurrent_viewers].nil?
4007
+ @total_chat_count = args[:total_chat_count] unless args[:total_chat_count].nil?
4008
+ end
4009
+ end
4010
+
4011
+ #
4012
+ class LiveBroadcastStatus
4013
+ include Google::Apis::Core::Hashable
4014
+
4015
+ # The broadcast's status. The status can be updated using the API's
4016
+ # liveBroadcasts.transition method.
4017
+ # Corresponds to the JSON property `lifeCycleStatus`
4018
+ # @return [String]
4019
+ attr_accessor :life_cycle_status
4020
+
4021
+ # Priority of the live broadcast event (internal state).
4022
+ # Corresponds to the JSON property `liveBroadcastPriority`
4023
+ # @return [String]
4024
+ attr_accessor :live_broadcast_priority
4025
+
4026
+ # The broadcast's privacy status. Note that the broadcast represents exactly one
4027
+ # YouTube video, so the privacy settings are identical to those supported for
4028
+ # videos. In addition, you can set this field by modifying the broadcast
4029
+ # resource or by setting the privacyStatus field of the corresponding video
4030
+ # resource.
4031
+ # Corresponds to the JSON property `privacyStatus`
4032
+ # @return [String]
4033
+ attr_accessor :privacy_status
4034
+
4035
+ # The broadcast's recording status.
4036
+ # Corresponds to the JSON property `recordingStatus`
4037
+ # @return [String]
4038
+ attr_accessor :recording_status
4039
+
4040
+ def initialize(**args)
4041
+ update!(**args)
4042
+ end
4043
+
4044
+ # Update properties of this object
4045
+ def update!(**args)
4046
+ @life_cycle_status = args[:life_cycle_status] unless args[:life_cycle_status].nil?
4047
+ @live_broadcast_priority = args[:live_broadcast_priority] unless args[:live_broadcast_priority].nil?
4048
+ @privacy_status = args[:privacy_status] unless args[:privacy_status].nil?
4049
+ @recording_status = args[:recording_status] unless args[:recording_status].nil?
4050
+ end
4051
+ end
4052
+
4053
+ #
4054
+ class LiveBroadcastTopic
4055
+ include Google::Apis::Core::Hashable
4056
+
4057
+ # Information about the topic matched.
4058
+ # Corresponds to the JSON property `snippet`
4059
+ # @return [Google::Apis::YoutubeV3::LiveBroadcastTopicSnippet]
4060
+ attr_accessor :snippet
4061
+
4062
+ # The type of the topic.
4063
+ # Corresponds to the JSON property `type`
4064
+ # @return [String]
4065
+ attr_accessor :type
4066
+
4067
+ # If this flag is set it means that we have not been able to match the topic
4068
+ # title and type provided to a known entity.
4069
+ # Corresponds to the JSON property `unmatched`
4070
+ # @return [Boolean]
4071
+ attr_accessor :unmatched
4072
+ alias_method :unmatched?, :unmatched
4073
+
4074
+ def initialize(**args)
4075
+ update!(**args)
4076
+ end
4077
+
4078
+ # Update properties of this object
4079
+ def update!(**args)
4080
+ @snippet = args[:snippet] unless args[:snippet].nil?
4081
+ @type = args[:type] unless args[:type].nil?
4082
+ @unmatched = args[:unmatched] unless args[:unmatched].nil?
4083
+ end
4084
+ end
4085
+
4086
+ #
4087
+ class LiveBroadcastTopicDetails
4088
+ include Google::Apis::Core::Hashable
4089
+
4090
+ #
4091
+ # Corresponds to the JSON property `topics`
4092
+ # @return [Array<Google::Apis::YoutubeV3::LiveBroadcastTopic>]
4093
+ attr_accessor :topics
4094
+
4095
+ def initialize(**args)
4096
+ update!(**args)
4097
+ end
4098
+
4099
+ # Update properties of this object
4100
+ def update!(**args)
4101
+ @topics = args[:topics] unless args[:topics].nil?
4102
+ end
4103
+ end
4104
+
4105
+ #
4106
+ class LiveBroadcastTopicSnippet
4107
+ include Google::Apis::Core::Hashable
4108
+
4109
+ # The name of the topic.
4110
+ # Corresponds to the JSON property `name`
4111
+ # @return [String]
4112
+ attr_accessor :name
4113
+
4114
+ # The date at which the topic was released. Filled for types: videoGame
4115
+ # Corresponds to the JSON property `releaseDate`
4116
+ # @return [String]
4117
+ attr_accessor :release_date
4118
+
4119
+ def initialize(**args)
4120
+ update!(**args)
4121
+ end
4122
+
4123
+ # Update properties of this object
4124
+ def update!(**args)
4125
+ @name = args[:name] unless args[:name].nil?
4126
+ @release_date = args[:release_date] unless args[:release_date].nil?
4127
+ end
4128
+ end
4129
+
4130
+ # A liveChatBan resource represents a ban for a YouTube live chat.
4131
+ class LiveChatBan
4132
+ include Google::Apis::Core::Hashable
4133
+
4134
+ # Etag of this resource.
4135
+ # Corresponds to the JSON property `etag`
4136
+ # @return [String]
4137
+ attr_accessor :etag
4138
+
4139
+ # The ID that YouTube assigns to uniquely identify the ban.
4140
+ # Corresponds to the JSON property `id`
4141
+ # @return [String]
4142
+ attr_accessor :id
4143
+
4144
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
4145
+ # liveChatBan".
4146
+ # Corresponds to the JSON property `kind`
4147
+ # @return [String]
4148
+ attr_accessor :kind
4149
+
4150
+ # The snippet object contains basic details about the ban.
4151
+ # Corresponds to the JSON property `snippet`
4152
+ # @return [Google::Apis::YoutubeV3::LiveChatBanSnippet]
4153
+ attr_accessor :snippet
4154
+
4155
+ def initialize(**args)
4156
+ update!(**args)
4157
+ end
4158
+
4159
+ # Update properties of this object
4160
+ def update!(**args)
4161
+ @etag = args[:etag] unless args[:etag].nil?
4162
+ @id = args[:id] unless args[:id].nil?
4163
+ @kind = args[:kind] unless args[:kind].nil?
4164
+ @snippet = args[:snippet] unless args[:snippet].nil?
4165
+ end
4166
+ end
4167
+
4168
+ #
4169
+ class LiveChatBanSnippet
4170
+ include Google::Apis::Core::Hashable
4171
+
4172
+ # The duration of a ban, only filled if the ban has type TEMPORARY.
4173
+ # Corresponds to the JSON property `banDurationSeconds`
4174
+ # @return [String]
4175
+ attr_accessor :ban_duration_seconds
4176
+
4177
+ #
4178
+ # Corresponds to the JSON property `bannedUserDetails`
4179
+ # @return [Google::Apis::YoutubeV3::ChannelProfileDetails]
4180
+ attr_accessor :banned_user_details
4181
+
4182
+ # The chat this ban is pertinent to.
4183
+ # Corresponds to the JSON property `liveChatId`
4184
+ # @return [String]
4185
+ attr_accessor :live_chat_id
4186
+
4187
+ # The type of ban.
4188
+ # Corresponds to the JSON property `type`
4189
+ # @return [String]
4190
+ attr_accessor :type
4191
+
4192
+ def initialize(**args)
4193
+ update!(**args)
4194
+ end
4195
+
4196
+ # Update properties of this object
4197
+ def update!(**args)
4198
+ @ban_duration_seconds = args[:ban_duration_seconds] unless args[:ban_duration_seconds].nil?
4199
+ @banned_user_details = args[:banned_user_details] unless args[:banned_user_details].nil?
4200
+ @live_chat_id = args[:live_chat_id] unless args[:live_chat_id].nil?
4201
+ @type = args[:type] unless args[:type].nil?
4202
+ end
4203
+ end
4204
+
4205
+ #
4206
+ class LiveChatFanFundingEventDetails
4207
+ include Google::Apis::Core::Hashable
4208
+
4209
+ # A rendered string that displays the fund amount and currency to the user.
4210
+ # Corresponds to the JSON property `amountDisplayString`
4211
+ # @return [String]
4212
+ attr_accessor :amount_display_string
4213
+
4214
+ # The amount of the fund.
4215
+ # Corresponds to the JSON property `amountMicros`
4216
+ # @return [String]
4217
+ attr_accessor :amount_micros
4218
+
4219
+ # The currency in which the fund was made.
4220
+ # Corresponds to the JSON property `currency`
4221
+ # @return [String]
4222
+ attr_accessor :currency
4223
+
4224
+ # The comment added by the user to this fan funding event.
4225
+ # Corresponds to the JSON property `userComment`
4226
+ # @return [String]
4227
+ attr_accessor :user_comment
4228
+
4229
+ def initialize(**args)
4230
+ update!(**args)
4231
+ end
4232
+
4233
+ # Update properties of this object
4234
+ def update!(**args)
4235
+ @amount_display_string = args[:amount_display_string] unless args[:amount_display_string].nil?
4236
+ @amount_micros = args[:amount_micros] unless args[:amount_micros].nil?
4237
+ @currency = args[:currency] unless args[:currency].nil?
4238
+ @user_comment = args[:user_comment] unless args[:user_comment].nil?
4239
+ end
4240
+ end
4241
+
4242
+ # A liveChatMessage resource represents a chat message in a YouTube Live Chat.
4243
+ class LiveChatMessage
4244
+ include Google::Apis::Core::Hashable
4245
+
4246
+ # The authorDetails object contains basic details about the user that posted
4247
+ # this message.
4248
+ # Corresponds to the JSON property `authorDetails`
4249
+ # @return [Google::Apis::YoutubeV3::LiveChatMessageAuthorDetails]
4250
+ attr_accessor :author_details
4251
+
4252
+ # Etag of this resource.
4253
+ # Corresponds to the JSON property `etag`
4254
+ # @return [String]
4255
+ attr_accessor :etag
4256
+
4257
+ # The ID that YouTube assigns to uniquely identify the message.
4258
+ # Corresponds to the JSON property `id`
4259
+ # @return [String]
4260
+ attr_accessor :id
4261
+
4262
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
4263
+ # liveChatMessage".
4264
+ # Corresponds to the JSON property `kind`
4265
+ # @return [String]
4266
+ attr_accessor :kind
4267
+
4268
+ # The snippet object contains basic details about the message.
4269
+ # Corresponds to the JSON property `snippet`
4270
+ # @return [Google::Apis::YoutubeV3::LiveChatMessageSnippet]
4271
+ attr_accessor :snippet
4272
+
4273
+ def initialize(**args)
4274
+ update!(**args)
4275
+ end
4276
+
4277
+ # Update properties of this object
4278
+ def update!(**args)
4279
+ @author_details = args[:author_details] unless args[:author_details].nil?
4280
+ @etag = args[:etag] unless args[:etag].nil?
4281
+ @id = args[:id] unless args[:id].nil?
4282
+ @kind = args[:kind] unless args[:kind].nil?
4283
+ @snippet = args[:snippet] unless args[:snippet].nil?
4284
+ end
4285
+ end
4286
+
4287
+ #
4288
+ class LiveChatMessageAuthorDetails
4289
+ include Google::Apis::Core::Hashable
4290
+
4291
+ # The YouTube channel ID.
4292
+ # Corresponds to the JSON property `channelId`
4293
+ # @return [String]
4294
+ attr_accessor :channel_id
4295
+
4296
+ # The channel's URL.
4297
+ # Corresponds to the JSON property `channelUrl`
4298
+ # @return [String]
4299
+ attr_accessor :channel_url
4300
+
4301
+ # The channel's display name.
4302
+ # Corresponds to the JSON property `displayName`
4303
+ # @return [String]
4304
+ attr_accessor :display_name
4305
+
4306
+ # Whether the author is a moderator of the live chat.
4307
+ # Corresponds to the JSON property `isChatModerator`
4308
+ # @return [Boolean]
4309
+ attr_accessor :is_chat_moderator
4310
+ alias_method :is_chat_moderator?, :is_chat_moderator
4311
+
4312
+ # Whether the author is the owner of the live chat.
4313
+ # Corresponds to the JSON property `isChatOwner`
4314
+ # @return [Boolean]
4315
+ attr_accessor :is_chat_owner
4316
+ alias_method :is_chat_owner?, :is_chat_owner
4317
+
4318
+ # Whether the author is a sponsor of the live chat.
4319
+ # Corresponds to the JSON property `isChatSponsor`
4320
+ # @return [Boolean]
4321
+ attr_accessor :is_chat_sponsor
4322
+ alias_method :is_chat_sponsor?, :is_chat_sponsor
4323
+
4324
+ # Whether the author's identity has been verified by YouTube.
4325
+ # Corresponds to the JSON property `isVerified`
4326
+ # @return [Boolean]
4327
+ attr_accessor :is_verified
4328
+ alias_method :is_verified?, :is_verified
4329
+
4330
+ # The channels's avatar URL.
4331
+ # Corresponds to the JSON property `profileImageUrl`
4332
+ # @return [String]
4333
+ attr_accessor :profile_image_url
4334
+
4335
+ def initialize(**args)
4336
+ update!(**args)
4337
+ end
4338
+
4339
+ # Update properties of this object
4340
+ def update!(**args)
4341
+ @channel_id = args[:channel_id] unless args[:channel_id].nil?
4342
+ @channel_url = args[:channel_url] unless args[:channel_url].nil?
4343
+ @display_name = args[:display_name] unless args[:display_name].nil?
4344
+ @is_chat_moderator = args[:is_chat_moderator] unless args[:is_chat_moderator].nil?
4345
+ @is_chat_owner = args[:is_chat_owner] unless args[:is_chat_owner].nil?
4346
+ @is_chat_sponsor = args[:is_chat_sponsor] unless args[:is_chat_sponsor].nil?
4347
+ @is_verified = args[:is_verified] unless args[:is_verified].nil?
4348
+ @profile_image_url = args[:profile_image_url] unless args[:profile_image_url].nil?
4349
+ end
4350
+ end
4351
+
4352
+ #
4353
+ class LiveChatMessageListResponse
4354
+ include Google::Apis::Core::Hashable
4355
+
4356
+ # Etag of this resource.
4357
+ # Corresponds to the JSON property `etag`
4358
+ # @return [String]
4359
+ attr_accessor :etag
4360
+
4361
+ # Serialized EventId of the request which produced this response.
4362
+ # Corresponds to the JSON property `eventId`
4363
+ # @return [String]
4364
+ attr_accessor :event_id
4365
+
4366
+ # A list of live chat messages.
4367
+ # Corresponds to the JSON property `items`
4368
+ # @return [Array<Google::Apis::YoutubeV3::LiveChatMessage>]
4369
+ attr_accessor :items
4370
+
4371
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
4372
+ # liveChatMessageListResponse".
4373
+ # Corresponds to the JSON property `kind`
4374
+ # @return [String]
4375
+ attr_accessor :kind
4376
+
4377
+ # The token that can be used as the value of the pageToken parameter to retrieve
4378
+ # the next page in the result set.
4379
+ # Corresponds to the JSON property `nextPageToken`
4380
+ # @return [String]
4381
+ attr_accessor :next_page_token
4382
+
4383
+ # The date and time when the underlying stream went offline. The value is
4384
+ # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
4385
+ # Corresponds to the JSON property `offlineAt`
4386
+ # @return [DateTime]
4387
+ attr_accessor :offline_at
4388
+
4389
+ # Paging details for lists of resources, including total number of items
4390
+ # available and number of resources returned in a single page.
4391
+ # Corresponds to the JSON property `pageInfo`
4392
+ # @return [Google::Apis::YoutubeV3::PageInfo]
4393
+ attr_accessor :page_info
4394
+
4395
+ # The amount of time the client should wait before polling again.
4396
+ # Corresponds to the JSON property `pollingIntervalMillis`
4397
+ # @return [Fixnum]
4398
+ attr_accessor :polling_interval_millis
4399
+
4400
+ # Stub token pagination template to suppress results.
4401
+ # Corresponds to the JSON property `tokenPagination`
4402
+ # @return [Google::Apis::YoutubeV3::TokenPagination]
4403
+ attr_accessor :token_pagination
4404
+
4405
+ # The visitorId identifies the visitor.
4406
+ # Corresponds to the JSON property `visitorId`
4407
+ # @return [String]
4408
+ attr_accessor :visitor_id
4409
+
4410
+ def initialize(**args)
4411
+ update!(**args)
4412
+ end
4413
+
4414
+ # Update properties of this object
4415
+ def update!(**args)
4416
+ @etag = args[:etag] unless args[:etag].nil?
4417
+ @event_id = args[:event_id] unless args[:event_id].nil?
4418
+ @items = args[:items] unless args[:items].nil?
4419
+ @kind = args[:kind] unless args[:kind].nil?
4420
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
4421
+ @offline_at = args[:offline_at] unless args[:offline_at].nil?
4422
+ @page_info = args[:page_info] unless args[:page_info].nil?
4423
+ @polling_interval_millis = args[:polling_interval_millis] unless args[:polling_interval_millis].nil?
4424
+ @token_pagination = args[:token_pagination] unless args[:token_pagination].nil?
4425
+ @visitor_id = args[:visitor_id] unless args[:visitor_id].nil?
4426
+ end
4427
+ end
4428
+
4429
+ #
4430
+ class LiveChatMessageSnippet
4431
+ include Google::Apis::Core::Hashable
4432
+
4433
+ # The ID of the user that authored this message, this field is not always filled.
4434
+ # textMessageEvent - the user that wrote the message fanFundingEvent - the user
4435
+ # that funded the broadcast newSponsorEvent - the user that just became a
4436
+ # sponsor
4437
+ # Corresponds to the JSON property `authorChannelId`
4438
+ # @return [String]
4439
+ attr_accessor :author_channel_id
4440
+
4441
+ # Contains a string that can be displayed to the user. If this field is not
4442
+ # present the message is silent, at the moment only messages of type TOMBSTONE
4443
+ # and CHAT_ENDED_EVENT are silent.
4444
+ # Corresponds to the JSON property `displayMessage`
4445
+ # @return [String]
4446
+ attr_accessor :display_message
4447
+
4448
+ # Details about the funding event, this is only set if the type is '
4449
+ # fanFundingEvent'.
4450
+ # Corresponds to the JSON property `fanFundingEventDetails`
4451
+ # @return [Google::Apis::YoutubeV3::LiveChatFanFundingEventDetails]
4452
+ attr_accessor :fan_funding_event_details
4453
+
4454
+ # Whether the message has display content that should be displayed to users.
4455
+ # Corresponds to the JSON property `hasDisplayContent`
4456
+ # @return [Boolean]
4457
+ attr_accessor :has_display_content
4458
+ alias_method :has_display_content?, :has_display_content
4459
+
4460
+ #
4461
+ # Corresponds to the JSON property `liveChatId`
4462
+ # @return [String]
4463
+ attr_accessor :live_chat_id
4464
+
4465
+ # The date and time when the message was orignally published. The value is
4466
+ # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
4467
+ # Corresponds to the JSON property `publishedAt`
4468
+ # @return [DateTime]
4469
+ attr_accessor :published_at
4470
+
4471
+ # Details about the text message, this is only set if the type is '
4472
+ # textMessageEvent'.
4473
+ # Corresponds to the JSON property `textMessageDetails`
4474
+ # @return [Google::Apis::YoutubeV3::LiveChatTextMessageDetails]
4475
+ attr_accessor :text_message_details
4476
+
4477
+ # The type of message, this will always be present, it determines the contents
4478
+ # of the message as well as which fields will be present.
4479
+ # Corresponds to the JSON property `type`
4480
+ # @return [String]
4481
+ attr_accessor :type
3792
4482
 
3793
4483
  def initialize(**args)
3794
4484
  update!(**args)
@@ -3796,39 +4486,43 @@ module Google
3796
4486
 
3797
4487
  # Update properties of this object
3798
4488
  def update!(**args)
3799
- @concurrent_viewers = args[:concurrent_viewers] unless args[:concurrent_viewers].nil?
3800
- @total_chat_count = args[:total_chat_count] unless args[:total_chat_count].nil?
4489
+ @author_channel_id = args[:author_channel_id] unless args[:author_channel_id].nil?
4490
+ @display_message = args[:display_message] unless args[:display_message].nil?
4491
+ @fan_funding_event_details = args[:fan_funding_event_details] unless args[:fan_funding_event_details].nil?
4492
+ @has_display_content = args[:has_display_content] unless args[:has_display_content].nil?
4493
+ @live_chat_id = args[:live_chat_id] unless args[:live_chat_id].nil?
4494
+ @published_at = args[:published_at] unless args[:published_at].nil?
4495
+ @text_message_details = args[:text_message_details] unless args[:text_message_details].nil?
4496
+ @type = args[:type] unless args[:type].nil?
3801
4497
  end
3802
4498
  end
3803
4499
 
3804
- #
3805
- class LiveBroadcastStatus
4500
+ # A liveChatModerator resource represents a moderator for a YouTube live chat. A
4501
+ # chat moderator has the ability to ban/unban users from a chat, remove message,
4502
+ # etc.
4503
+ class LiveChatModerator
3806
4504
  include Google::Apis::Core::Hashable
3807
4505
 
3808
- # The broadcast's status. The status can be updated using the API's
3809
- # liveBroadcasts.transition method.
3810
- # Corresponds to the JSON property `lifeCycleStatus`
4506
+ # Etag of this resource.
4507
+ # Corresponds to the JSON property `etag`
3811
4508
  # @return [String]
3812
- attr_accessor :life_cycle_status
4509
+ attr_accessor :etag
3813
4510
 
3814
- # Priority of the live broadcast event (internal state).
3815
- # Corresponds to the JSON property `liveBroadcastPriority`
4511
+ # The ID that YouTube assigns to uniquely identify the moderator.
4512
+ # Corresponds to the JSON property `id`
3816
4513
  # @return [String]
3817
- attr_accessor :live_broadcast_priority
4514
+ attr_accessor :id
3818
4515
 
3819
- # The broadcast's privacy status. Note that the broadcast represents exactly one
3820
- # YouTube video, so the privacy settings are identical to those supported for
3821
- # videos. In addition, you can set this field by modifying the broadcast
3822
- # resource or by setting the privacyStatus field of the corresponding video
3823
- # resource.
3824
- # Corresponds to the JSON property `privacyStatus`
4516
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
4517
+ # liveChatModerator".
4518
+ # Corresponds to the JSON property `kind`
3825
4519
  # @return [String]
3826
- attr_accessor :privacy_status
4520
+ attr_accessor :kind
3827
4521
 
3828
- # The broadcast's recording status.
3829
- # Corresponds to the JSON property `recordingStatus`
3830
- # @return [String]
3831
- attr_accessor :recording_status
4522
+ # The snippet object contains basic details about the moderator.
4523
+ # Corresponds to the JSON property `snippet`
4524
+ # @return [Google::Apis::YoutubeV3::LiveChatModeratorSnippet]
4525
+ attr_accessor :snippet
3832
4526
 
3833
4527
  def initialize(**args)
3834
4528
  update!(**args)
@@ -3836,33 +4530,65 @@ module Google
3836
4530
 
3837
4531
  # Update properties of this object
3838
4532
  def update!(**args)
3839
- @life_cycle_status = args[:life_cycle_status] unless args[:life_cycle_status].nil?
3840
- @live_broadcast_priority = args[:live_broadcast_priority] unless args[:live_broadcast_priority].nil?
3841
- @privacy_status = args[:privacy_status] unless args[:privacy_status].nil?
3842
- @recording_status = args[:recording_status] unless args[:recording_status].nil?
4533
+ @etag = args[:etag] unless args[:etag].nil?
4534
+ @id = args[:id] unless args[:id].nil?
4535
+ @kind = args[:kind] unless args[:kind].nil?
4536
+ @snippet = args[:snippet] unless args[:snippet].nil?
3843
4537
  end
3844
4538
  end
3845
4539
 
3846
4540
  #
3847
- class LiveBroadcastTopic
4541
+ class LiveChatModeratorListResponse
3848
4542
  include Google::Apis::Core::Hashable
3849
4543
 
3850
- # Information about the topic matched.
3851
- # Corresponds to the JSON property `snippet`
3852
- # @return [Google::Apis::YoutubeV3::LiveBroadcastTopicSnippet]
3853
- attr_accessor :snippet
4544
+ # Etag of this resource.
4545
+ # Corresponds to the JSON property `etag`
4546
+ # @return [String]
4547
+ attr_accessor :etag
3854
4548
 
3855
- # The type of the topic.
3856
- # Corresponds to the JSON property `type`
4549
+ # Serialized EventId of the request which produced this response.
4550
+ # Corresponds to the JSON property `eventId`
3857
4551
  # @return [String]
3858
- attr_accessor :type
4552
+ attr_accessor :event_id
3859
4553
 
3860
- # If this flag is set it means that we have not been able to match the topic
3861
- # title and type provided to a known entity.
3862
- # Corresponds to the JSON property `unmatched`
3863
- # @return [Boolean]
3864
- attr_accessor :unmatched
3865
- alias_method :unmatched?, :unmatched
4554
+ # A list of moderators that match the request criteria.
4555
+ # Corresponds to the JSON property `items`
4556
+ # @return [Array<Google::Apis::YoutubeV3::LiveChatModerator>]
4557
+ attr_accessor :items
4558
+
4559
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
4560
+ # liveChatModeratorListResponse".
4561
+ # Corresponds to the JSON property `kind`
4562
+ # @return [String]
4563
+ attr_accessor :kind
4564
+
4565
+ # The token that can be used as the value of the pageToken parameter to retrieve
4566
+ # the next page in the result set.
4567
+ # Corresponds to the JSON property `nextPageToken`
4568
+ # @return [String]
4569
+ attr_accessor :next_page_token
4570
+
4571
+ # Paging details for lists of resources, including total number of items
4572
+ # available and number of resources returned in a single page.
4573
+ # Corresponds to the JSON property `pageInfo`
4574
+ # @return [Google::Apis::YoutubeV3::PageInfo]
4575
+ attr_accessor :page_info
4576
+
4577
+ # The token that can be used as the value of the pageToken parameter to retrieve
4578
+ # the previous page in the result set.
4579
+ # Corresponds to the JSON property `prevPageToken`
4580
+ # @return [String]
4581
+ attr_accessor :prev_page_token
4582
+
4583
+ # Stub token pagination template to suppress results.
4584
+ # Corresponds to the JSON property `tokenPagination`
4585
+ # @return [Google::Apis::YoutubeV3::TokenPagination]
4586
+ attr_accessor :token_pagination
4587
+
4588
+ # The visitorId identifies the visitor.
4589
+ # Corresponds to the JSON property `visitorId`
4590
+ # @return [String]
4591
+ attr_accessor :visitor_id
3866
4592
 
3867
4593
  def initialize(**args)
3868
4594
  update!(**args)
@@ -3870,20 +4596,31 @@ module Google
3870
4596
 
3871
4597
  # Update properties of this object
3872
4598
  def update!(**args)
3873
- @snippet = args[:snippet] unless args[:snippet].nil?
3874
- @type = args[:type] unless args[:type].nil?
3875
- @unmatched = args[:unmatched] unless args[:unmatched].nil?
4599
+ @etag = args[:etag] unless args[:etag].nil?
4600
+ @event_id = args[:event_id] unless args[:event_id].nil?
4601
+ @items = args[:items] unless args[:items].nil?
4602
+ @kind = args[:kind] unless args[:kind].nil?
4603
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
4604
+ @page_info = args[:page_info] unless args[:page_info].nil?
4605
+ @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil?
4606
+ @token_pagination = args[:token_pagination] unless args[:token_pagination].nil?
4607
+ @visitor_id = args[:visitor_id] unless args[:visitor_id].nil?
3876
4608
  end
3877
4609
  end
3878
4610
 
3879
4611
  #
3880
- class LiveBroadcastTopicDetails
4612
+ class LiveChatModeratorSnippet
3881
4613
  include Google::Apis::Core::Hashable
3882
4614
 
3883
- #
3884
- # Corresponds to the JSON property `topics`
3885
- # @return [Array<Google::Apis::YoutubeV3::LiveBroadcastTopic>]
3886
- attr_accessor :topics
4615
+ # The ID of the live chat this moderator can act on.
4616
+ # Corresponds to the JSON property `liveChatId`
4617
+ # @return [String]
4618
+ attr_accessor :live_chat_id
4619
+
4620
+ # Details about the moderator.
4621
+ # Corresponds to the JSON property `moderatorDetails`
4622
+ # @return [Google::Apis::YoutubeV3::ChannelProfileDetails]
4623
+ attr_accessor :moderator_details
3887
4624
 
3888
4625
  def initialize(**args)
3889
4626
  update!(**args)
@@ -3891,23 +4628,19 @@ module Google
3891
4628
 
3892
4629
  # Update properties of this object
3893
4630
  def update!(**args)
3894
- @topics = args[:topics] unless args[:topics].nil?
4631
+ @live_chat_id = args[:live_chat_id] unless args[:live_chat_id].nil?
4632
+ @moderator_details = args[:moderator_details] unless args[:moderator_details].nil?
3895
4633
  end
3896
4634
  end
3897
4635
 
3898
4636
  #
3899
- class LiveBroadcastTopicSnippet
4637
+ class LiveChatTextMessageDetails
3900
4638
  include Google::Apis::Core::Hashable
3901
4639
 
3902
- # The name of the topic.
3903
- # Corresponds to the JSON property `name`
3904
- # @return [String]
3905
- attr_accessor :name
3906
-
3907
- # The date at which the topic was released. Filled for types: videoGame
3908
- # Corresponds to the JSON property `releaseDate`
4640
+ # The user's message.
4641
+ # Corresponds to the JSON property `messageText`
3909
4642
  # @return [String]
3910
- attr_accessor :release_date
4643
+ attr_accessor :message_text
3911
4644
 
3912
4645
  def initialize(**args)
3913
4646
  update!(**args)
@@ -3915,8 +4648,7 @@ module Google
3915
4648
 
3916
4649
  # Update properties of this object
3917
4650
  def update!(**args)
3918
- @name = args[:name] unless args[:name].nil?
3919
- @release_date = args[:release_date] unless args[:release_date].nil?
4651
+ @message_text = args[:message_text] unless args[:message_text].nil?
3920
4652
  end
3921
4653
  end
3922
4654
 
@@ -5251,6 +5983,141 @@ module Google
5251
5983
  end
5252
5984
  end
5253
5985
 
5986
+ # A sponsor resource represents a sponsor for a YouTube channel. A sponsor
5987
+ # provides recurring monetary support to a creator and receives special benefits.
5988
+ class Sponsor
5989
+ include Google::Apis::Core::Hashable
5990
+
5991
+ # Etag of this resource.
5992
+ # Corresponds to the JSON property `etag`
5993
+ # @return [String]
5994
+ attr_accessor :etag
5995
+
5996
+ # The ID that YouTube assigns to uniquely identify the sponsor.
5997
+ # Corresponds to the JSON property `id`
5998
+ # @return [String]
5999
+ attr_accessor :id
6000
+
6001
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
6002
+ # sponsor".
6003
+ # Corresponds to the JSON property `kind`
6004
+ # @return [String]
6005
+ attr_accessor :kind
6006
+
6007
+ # The snippet object contains basic details about the sponsor.
6008
+ # Corresponds to the JSON property `snippet`
6009
+ # @return [Google::Apis::YoutubeV3::SponsorSnippet]
6010
+ attr_accessor :snippet
6011
+
6012
+ def initialize(**args)
6013
+ update!(**args)
6014
+ end
6015
+
6016
+ # Update properties of this object
6017
+ def update!(**args)
6018
+ @etag = args[:etag] unless args[:etag].nil?
6019
+ @id = args[:id] unless args[:id].nil?
6020
+ @kind = args[:kind] unless args[:kind].nil?
6021
+ @snippet = args[:snippet] unless args[:snippet].nil?
6022
+ end
6023
+ end
6024
+
6025
+ #
6026
+ class SponsorListResponse
6027
+ include Google::Apis::Core::Hashable
6028
+
6029
+ # Etag of this resource.
6030
+ # Corresponds to the JSON property `etag`
6031
+ # @return [String]
6032
+ attr_accessor :etag
6033
+
6034
+ # Serialized EventId of the request which produced this response.
6035
+ # Corresponds to the JSON property `eventId`
6036
+ # @return [String]
6037
+ attr_accessor :event_id
6038
+
6039
+ # A list of sponsors that match the request criteria.
6040
+ # Corresponds to the JSON property `items`
6041
+ # @return [Array<Google::Apis::YoutubeV3::Sponsor>]
6042
+ attr_accessor :items
6043
+
6044
+ # Identifies what kind of resource this is. Value: the fixed string "youtube#
6045
+ # sponsorListResponse".
6046
+ # Corresponds to the JSON property `kind`
6047
+ # @return [String]
6048
+ attr_accessor :kind
6049
+
6050
+ # The token that can be used as the value of the pageToken parameter to retrieve
6051
+ # the next page in the result set.
6052
+ # Corresponds to the JSON property `nextPageToken`
6053
+ # @return [String]
6054
+ attr_accessor :next_page_token
6055
+
6056
+ # Paging details for lists of resources, including total number of items
6057
+ # available and number of resources returned in a single page.
6058
+ # Corresponds to the JSON property `pageInfo`
6059
+ # @return [Google::Apis::YoutubeV3::PageInfo]
6060
+ attr_accessor :page_info
6061
+
6062
+ # Stub token pagination template to suppress results.
6063
+ # Corresponds to the JSON property `tokenPagination`
6064
+ # @return [Google::Apis::YoutubeV3::TokenPagination]
6065
+ attr_accessor :token_pagination
6066
+
6067
+ # The visitorId identifies the visitor.
6068
+ # Corresponds to the JSON property `visitorId`
6069
+ # @return [String]
6070
+ attr_accessor :visitor_id
6071
+
6072
+ def initialize(**args)
6073
+ update!(**args)
6074
+ end
6075
+
6076
+ # Update properties of this object
6077
+ def update!(**args)
6078
+ @etag = args[:etag] unless args[:etag].nil?
6079
+ @event_id = args[:event_id] unless args[:event_id].nil?
6080
+ @items = args[:items] unless args[:items].nil?
6081
+ @kind = args[:kind] unless args[:kind].nil?
6082
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
6083
+ @page_info = args[:page_info] unless args[:page_info].nil?
6084
+ @token_pagination = args[:token_pagination] unless args[:token_pagination].nil?
6085
+ @visitor_id = args[:visitor_id] unless args[:visitor_id].nil?
6086
+ end
6087
+ end
6088
+
6089
+ #
6090
+ class SponsorSnippet
6091
+ include Google::Apis::Core::Hashable
6092
+
6093
+ # The id of the channel being sponsored.
6094
+ # Corresponds to the JSON property `channelId`
6095
+ # @return [String]
6096
+ attr_accessor :channel_id
6097
+
6098
+ # Details about the sponsor.
6099
+ # Corresponds to the JSON property `sponsorDetails`
6100
+ # @return [Google::Apis::YoutubeV3::ChannelProfileDetails]
6101
+ attr_accessor :sponsor_details
6102
+
6103
+ # The date and time when the user became a sponsor. The value is specified in
6104
+ # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
6105
+ # Corresponds to the JSON property `sponsorSince`
6106
+ # @return [DateTime]
6107
+ attr_accessor :sponsor_since
6108
+
6109
+ def initialize(**args)
6110
+ update!(**args)
6111
+ end
6112
+
6113
+ # Update properties of this object
6114
+ def update!(**args)
6115
+ @channel_id = args[:channel_id] unless args[:channel_id].nil?
6116
+ @sponsor_details = args[:sponsor_details] unless args[:sponsor_details].nil?
6117
+ @sponsor_since = args[:sponsor_since] unless args[:sponsor_since].nil?
6118
+ end
6119
+ end
6120
+
5254
6121
  # A subscription resource contains information about a YouTube user subscription.
5255
6122
  # A subscription notifies a user when new videos are added to a channel or when
5256
6123
  # another user takes one of several actions on YouTube, such as uploading a
@@ -6594,6 +7461,16 @@ module Google
6594
7461
  class VideoLiveStreamingDetails
6595
7462
  include Google::Apis::Core::Hashable
6596
7463
 
7464
+ # The ID of the currently active live chat attached to this video. This field is
7465
+ # filled only if the video is a currently live broadcast that has live chat.
7466
+ # Once the broadcast transitions to complete this field will be removed and the
7467
+ # live chat closed down. For persistent broadcasts that live chat id will no
7468
+ # longer be tied to this video but rather to the new video being displayed at
7469
+ # the persistent page.
7470
+ # Corresponds to the JSON property `activeLiveChatId`
7471
+ # @return [String]
7472
+ attr_accessor :active_live_chat_id
7473
+
6597
7474
  # The time that the broadcast actually ended. The value is specified in ISO 8601
6598
7475
  # (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the
6599
7476
  # broadcast is over.
@@ -6637,6 +7514,7 @@ module Google
6637
7514
 
6638
7515
  # Update properties of this object
6639
7516
  def update!(**args)
7517
+ @active_live_chat_id = args[:active_live_chat_id] unless args[:active_live_chat_id].nil?
6640
7518
  @actual_end_time = args[:actual_end_time] unless args[:actual_end_time].nil?
6641
7519
  @actual_start_time = args[:actual_start_time] unless args[:actual_start_time].nil?
6642
7520
  @concurrent_viewers = args[:concurrent_viewers] unless args[:concurrent_viewers].nil?