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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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?