# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module YoutubeV3 # Rights management policy for YouTube resources. class AccessPolicy include Google::Apis::Core::Hashable # The value of allowed indicates whether the access to the policy is allowed or # denied by default. # Corresponds to the JSON property `allowed` # @return [Boolean] attr_accessor :allowed alias_method :allowed?, :allowed # A list of region codes that identify countries where the default policy do not # apply. # Corresponds to the JSON property `exception` # @return [Array] attr_accessor :exception def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allowed = args[:allowed] unless args[:allowed].nil? @exception = args[:exception] unless args[:exception].nil? end end # An activity resource contains information about an action that a particular # channel, or user, has taken on YouTube.The actions reported in activity feeds # include rating a video, sharing a video, marking a video as a favorite, # commenting on a video, uploading a video, and so forth. Each activity resource # identifies the type of action, the channel associated with the action, and the # resource(s) associated with the action, such as the video that was rated or # uploaded. class Activity include Google::Apis::Core::Hashable # Details about the content of an activity: the video that was shared, the # channel that was subscribed to, etc. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::ActivityContentDetails] attr_accessor :content_details # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the activity. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # activity". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about an activity, including title, description, thumbnails, # activity type and group. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::ActivitySnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_details = args[:content_details] unless args[:content_details].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # Details about the content of an activity: the video that was shared, the # channel that was subscribed to, etc. class ActivityContentDetails include Google::Apis::Core::Hashable # Details about a channel bulletin post. # Corresponds to the JSON property `bulletin` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsBulletin] attr_accessor :bulletin # Details about a resource which was added to a channel. # Corresponds to the JSON property `channelItem` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsChannelItem] attr_accessor :channel_item # Information about a resource that received a comment. # Corresponds to the JSON property `comment` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsComment] attr_accessor :comment # Information about a video that was marked as a favorite video. # Corresponds to the JSON property `favorite` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsFavorite] attr_accessor :favorite # Information about a resource that received a positive (like) rating. # Corresponds to the JSON property `like` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsLike] attr_accessor :like # Information about a new playlist item. # Corresponds to the JSON property `playlistItem` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsPlaylistItem] attr_accessor :playlist_item # Details about a resource which is being promoted. # Corresponds to the JSON property `promotedItem` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsPromotedItem] attr_accessor :promoted_item # Information that identifies the recommended resource. # Corresponds to the JSON property `recommendation` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsRecommendation] attr_accessor :recommendation # Details about a social network post. # Corresponds to the JSON property `social` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsSocial] attr_accessor :social # Information about a channel that a user subscribed to. # Corresponds to the JSON property `subscription` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsSubscription] attr_accessor :subscription # Information about the uploaded video. # Corresponds to the JSON property `upload` # @return [Google::Apis::YoutubeV3::ActivityContentDetailsUpload] attr_accessor :upload def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bulletin = args[:bulletin] unless args[:bulletin].nil? @channel_item = args[:channel_item] unless args[:channel_item].nil? @comment = args[:comment] unless args[:comment].nil? @favorite = args[:favorite] unless args[:favorite].nil? @like = args[:like] unless args[:like].nil? @playlist_item = args[:playlist_item] unless args[:playlist_item].nil? @promoted_item = args[:promoted_item] unless args[:promoted_item].nil? @recommendation = args[:recommendation] unless args[:recommendation].nil? @social = args[:social] unless args[:social].nil? @subscription = args[:subscription] unless args[:subscription].nil? @upload = args[:upload] unless args[:upload].nil? end end # Details about a channel bulletin post. class ActivityContentDetailsBulletin include Google::Apis::Core::Hashable # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Details about a resource which was added to a channel. class ActivityContentDetailsChannelItem include Google::Apis::Core::Hashable # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Information about a resource that received a comment. class ActivityContentDetailsComment include Google::Apis::Core::Hashable # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Information about a video that was marked as a favorite video. class ActivityContentDetailsFavorite include Google::Apis::Core::Hashable # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Information about a resource that received a positive (like) rating. class ActivityContentDetailsLike include Google::Apis::Core::Hashable # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Information about a new playlist item. class ActivityContentDetailsPlaylistItem include Google::Apis::Core::Hashable # The value that YouTube uses to uniquely identify the playlist. # Corresponds to the JSON property `playlistId` # @return [String] attr_accessor :playlist_id # ID of the item within the playlist. # Corresponds to the JSON property `playlistItemId` # @return [String] attr_accessor :playlist_item_id # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @playlist_id = args[:playlist_id] unless args[:playlist_id].nil? @playlist_item_id = args[:playlist_item_id] unless args[:playlist_item_id].nil? @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Details about a resource which is being promoted. class ActivityContentDetailsPromotedItem include Google::Apis::Core::Hashable # The URL the client should fetch to request a promoted item. # Corresponds to the JSON property `adTag` # @return [String] attr_accessor :ad_tag # The URL the client should ping to indicate that the user clicked through on # this promoted item. # Corresponds to the JSON property `clickTrackingUrl` # @return [String] attr_accessor :click_tracking_url # The URL the client should ping to indicate that the user was shown this # promoted item. # Corresponds to the JSON property `creativeViewUrl` # @return [String] attr_accessor :creative_view_url # The type of call-to-action, a message to the user indicating action that can # be taken. # Corresponds to the JSON property `ctaType` # @return [String] attr_accessor :cta_type # The custom call-to-action button text. If specified, it will override the # default button text for the cta_type. # Corresponds to the JSON property `customCtaButtonText` # @return [String] attr_accessor :custom_cta_button_text # The text description to accompany the promoted item. # Corresponds to the JSON property `descriptionText` # @return [String] attr_accessor :description_text # The URL the client should direct the user to, if the user chooses to visit the # advertiser's website. # Corresponds to the JSON property `destinationUrl` # @return [String] attr_accessor :destination_url # The list of forecasting URLs. The client should ping all of these URLs when a # promoted item is not available, to indicate that a promoted item could have # been shown. # Corresponds to the JSON property `forecastingUrl` # @return [Array] attr_accessor :forecasting_url # The list of impression URLs. The client should ping all of these URLs to # indicate that the user was shown this promoted item. # Corresponds to the JSON property `impressionUrl` # @return [Array] attr_accessor :impression_url # The ID that YouTube uses to uniquely identify the promoted video. # Corresponds to the JSON property `videoId` # @return [String] attr_accessor :video_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ad_tag = args[:ad_tag] unless args[:ad_tag].nil? @click_tracking_url = args[:click_tracking_url] unless args[:click_tracking_url].nil? @creative_view_url = args[:creative_view_url] unless args[:creative_view_url].nil? @cta_type = args[:cta_type] unless args[:cta_type].nil? @custom_cta_button_text = args[:custom_cta_button_text] unless args[:custom_cta_button_text].nil? @description_text = args[:description_text] unless args[:description_text].nil? @destination_url = args[:destination_url] unless args[:destination_url].nil? @forecasting_url = args[:forecasting_url] unless args[:forecasting_url].nil? @impression_url = args[:impression_url] unless args[:impression_url].nil? @video_id = args[:video_id] unless args[:video_id].nil? end end # Information that identifies the recommended resource. class ActivityContentDetailsRecommendation include Google::Apis::Core::Hashable # The reason that the resource is recommended to the user. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `seedResourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :seed_resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @reason = args[:reason] unless args[:reason].nil? @resource_id = args[:resource_id] unless args[:resource_id].nil? @seed_resource_id = args[:seed_resource_id] unless args[:seed_resource_id].nil? end end # Details about a social network post. class ActivityContentDetailsSocial include Google::Apis::Core::Hashable # The author of the social network post. # Corresponds to the JSON property `author` # @return [String] attr_accessor :author # An image of the post's author. # Corresponds to the JSON property `imageUrl` # @return [String] attr_accessor :image_url # The URL of the social network post. # Corresponds to the JSON property `referenceUrl` # @return [String] attr_accessor :reference_url # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id # The name of the social network. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @author = args[:author] unless args[:author].nil? @image_url = args[:image_url] unless args[:image_url].nil? @reference_url = args[:reference_url] unless args[:reference_url].nil? @resource_id = args[:resource_id] unless args[:resource_id].nil? @type = args[:type] unless args[:type].nil? end end # Information about a channel that a user subscribed to. class ActivityContentDetailsSubscription include Google::Apis::Core::Hashable # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_id = args[:resource_id] unless args[:resource_id].nil? end end # Information about the uploaded video. class ActivityContentDetailsUpload include Google::Apis::Core::Hashable # The ID that YouTube uses to uniquely identify the uploaded video. # Corresponds to the JSON property `videoId` # @return [String] attr_accessor :video_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @video_id = args[:video_id] unless args[:video_id].nil? end end # class ListActivitiesResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of activities, or events, that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # activityListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about an activity, including title, description, thumbnails, # activity type and group. class ActivitySnippet include Google::Apis::Core::Hashable # The ID that YouTube uses to uniquely identify the channel associated with the # activity. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # Channel title for the channel responsible for this activity # Corresponds to the JSON property `channelTitle` # @return [String] attr_accessor :channel_title # The description of the resource primarily associated with the activity. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The group ID associated with the activity. A group ID identifies user events # that are associated with the same user and resource. For example, if a user # rates a video and marks the same video as a favorite, the entries for those # events would have the same group ID in the user's activity feed. In your user # interface, you can avoid repetition by grouping events with the same groupId # value. # Corresponds to the JSON property `groupId` # @return [String] attr_accessor :group_id # The date and time that the video was uploaded. The value is specified in ISO # 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `publishedAt` # @return [DateTime] attr_accessor :published_at # Internal representation of thumbnails for a YouTube resource. # Corresponds to the JSON property `thumbnails` # @return [Google::Apis::YoutubeV3::ThumbnailDetails] attr_accessor :thumbnails # The title of the resource primarily associated with the activity. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # The type of activity that the resource describes. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channel_id = args[:channel_id] unless args[:channel_id].nil? @channel_title = args[:channel_title] unless args[:channel_title].nil? @description = args[:description] unless args[:description].nil? @group_id = args[:group_id] unless args[:group_id].nil? @published_at = args[:published_at] unless args[:published_at].nil? @thumbnails = args[:thumbnails] unless args[:thumbnails].nil? @title = args[:title] unless args[:title].nil? @type = args[:type] unless args[:type].nil? end end # A caption resource represents a YouTube caption track. A caption track is # associated with exactly one YouTube video. class Caption include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the caption track. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # caption". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about a caption track, such as its language and name. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::CaptionSnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # class ListCaptionsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of captions that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # captionListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about a caption track, such as its language and name. class CaptionSnippet include Google::Apis::Core::Hashable # The type of audio track associated with the caption track. # Corresponds to the JSON property `audioTrackType` # @return [String] attr_accessor :audio_track_type # The reason that YouTube failed to process the caption track. This property is # only present if the state property's value is failed. # Corresponds to the JSON property `failureReason` # @return [String] attr_accessor :failure_reason # Indicates whether YouTube synchronized the caption track to the audio track in # the video. The value will be true if a sync was explicitly requested when the # caption track was uploaded. For example, when calling the captions.insert or # captions.update methods, you can set the sync parameter to true to instruct # YouTube to sync the uploaded track to the video. If the value is false, # YouTube uses the time codes in the uploaded caption track to determine when to # display captions. # Corresponds to the JSON property `isAutoSynced` # @return [Boolean] attr_accessor :is_auto_synced alias_method :is_auto_synced?, :is_auto_synced # Indicates whether the track contains closed captions for the deaf and hard of # hearing. The default value is false. # Corresponds to the JSON property `isCC` # @return [Boolean] attr_accessor :is_cc alias_method :is_cc?, :is_cc # Indicates whether the caption track is a draft. If the value is true, then the # track is not publicly visible. The default value is false. # Corresponds to the JSON property `isDraft` # @return [Boolean] attr_accessor :is_draft alias_method :is_draft?, :is_draft # Indicates whether caption track is formatted for "easy reader," meaning it is # at a third-grade level for language learners. The default value is false. # Corresponds to the JSON property `isEasyReader` # @return [Boolean] attr_accessor :is_easy_reader alias_method :is_easy_reader?, :is_easy_reader # Indicates whether the caption track uses large text for the vision-impaired. # The default value is false. # Corresponds to the JSON property `isLarge` # @return [Boolean] attr_accessor :is_large alias_method :is_large?, :is_large # The language of the caption track. The property value is a BCP-47 language tag. # Corresponds to the JSON property `language` # @return [String] attr_accessor :language # The date and time when the caption track was last updated. The value is # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `lastUpdated` # @return [DateTime] attr_accessor :last_updated # The name of the caption track. The name is intended to be visible to the user # as an option during playback. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The caption track's status. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # The caption track's type. # Corresponds to the JSON property `trackKind` # @return [String] attr_accessor :track_kind # The ID that YouTube uses to uniquely identify the video associated with the # caption track. # Corresponds to the JSON property `videoId` # @return [String] attr_accessor :video_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audio_track_type = args[:audio_track_type] unless args[:audio_track_type].nil? @failure_reason = args[:failure_reason] unless args[:failure_reason].nil? @is_auto_synced = args[:is_auto_synced] unless args[:is_auto_synced].nil? @is_cc = args[:is_cc] unless args[:is_cc].nil? @is_draft = args[:is_draft] unless args[:is_draft].nil? @is_easy_reader = args[:is_easy_reader] unless args[:is_easy_reader].nil? @is_large = args[:is_large] unless args[:is_large].nil? @language = args[:language] unless args[:language].nil? @last_updated = args[:last_updated] unless args[:last_updated].nil? @name = args[:name] unless args[:name].nil? @status = args[:status] unless args[:status].nil? @track_kind = args[:track_kind] unless args[:track_kind].nil? @video_id = args[:video_id] unless args[:video_id].nil? end end # Brief description of the live stream cdn settings. class CdnSettings include Google::Apis::Core::Hashable # The format of the video stream that you are sending to Youtube. # Corresponds to the JSON property `format` # @return [String] attr_accessor :format # Describes information necessary for ingesting an RTMP or an HTTP stream. # Corresponds to the JSON property `ingestionInfo` # @return [Google::Apis::YoutubeV3::IngestionInfo] attr_accessor :ingestion_info # The method or protocol used to transmit the video stream. # Corresponds to the JSON property `ingestionType` # @return [String] attr_accessor :ingestion_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @format = args[:format] unless args[:format].nil? @ingestion_info = args[:ingestion_info] unless args[:ingestion_info].nil? @ingestion_type = args[:ingestion_type] unless args[:ingestion_type].nil? end end # A channel resource contains information about a YouTube channel. class Channel include Google::Apis::Core::Hashable # The auditDetails object encapsulates channel data that is relevant for YouTube # Partners during the audit process. # Corresponds to the JSON property `auditDetails` # @return [Google::Apis::YoutubeV3::ChannelAuditDetails] attr_accessor :audit_details # Branding properties of a YouTube channel. # Corresponds to the JSON property `brandingSettings` # @return [Google::Apis::YoutubeV3::ChannelBrandingSettings] attr_accessor :branding_settings # Details about the content of a channel. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::ChannelContentDetails] attr_accessor :content_details # The contentOwnerDetails object encapsulates channel data that is relevant for # YouTube Partners linked with the channel. # Corresponds to the JSON property `contentOwnerDetails` # @return [Google::Apis::YoutubeV3::ChannelContentOwnerDetails] attr_accessor :content_owner_details # The conversionPings object encapsulates information about conversion pings # that need to be respected by the channel. # Corresponds to the JSON property `conversionPings` # @return [Google::Apis::YoutubeV3::ChannelConversionPings] attr_accessor :conversion_pings # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the channel. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Describes an invideo promotion campaign consisting of multiple promoted items. # A campaign belongs to a single channel_id. # Corresponds to the JSON property `invideoPromotion` # @return [Google::Apis::YoutubeV3::InvideoPromotion] attr_accessor :invideo_promotion # Identifies what kind of resource this is. Value: the fixed string "youtube# # channel". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Localizations for different languages # Corresponds to the JSON property `localizations` # @return [Hash] attr_accessor :localizations # Basic details about a channel, including title, description and thumbnails. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::ChannelSnippet] attr_accessor :snippet # Statistics about a channel: number of subscribers, number of videos in the # channel, etc. # Corresponds to the JSON property `statistics` # @return [Google::Apis::YoutubeV3::ChannelStatistics] attr_accessor :statistics # JSON template for the status part of a channel. # Corresponds to the JSON property `status` # @return [Google::Apis::YoutubeV3::ChannelStatus] attr_accessor :status # Freebase topic information related to the channel. # Corresponds to the JSON property `topicDetails` # @return [Google::Apis::YoutubeV3::ChannelTopicDetails] attr_accessor :topic_details def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_details = args[:audit_details] unless args[:audit_details].nil? @branding_settings = args[:branding_settings] unless args[:branding_settings].nil? @content_details = args[:content_details] unless args[:content_details].nil? @content_owner_details = args[:content_owner_details] unless args[:content_owner_details].nil? @conversion_pings = args[:conversion_pings] unless args[:conversion_pings].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @invideo_promotion = args[:invideo_promotion] unless args[:invideo_promotion].nil? @kind = args[:kind] unless args[:kind].nil? @localizations = args[:localizations] unless args[:localizations].nil? @snippet = args[:snippet] unless args[:snippet].nil? @statistics = args[:statistics] unless args[:statistics].nil? @status = args[:status] unless args[:status].nil? @topic_details = args[:topic_details] unless args[:topic_details].nil? end end # The auditDetails object encapsulates channel data that is relevant for YouTube # Partners during the audit process. class ChannelAuditDetails include Google::Apis::Core::Hashable # Whether or not the channel respects the community guidelines. # Corresponds to the JSON property `communityGuidelinesGoodStanding` # @return [Boolean] attr_accessor :community_guidelines_good_standing alias_method :community_guidelines_good_standing?, :community_guidelines_good_standing # Whether or not the channel has any unresolved claims. # Corresponds to the JSON property `contentIdClaimsGoodStanding` # @return [Boolean] attr_accessor :content_id_claims_good_standing alias_method :content_id_claims_good_standing?, :content_id_claims_good_standing # Whether or not the channel has any copyright strikes. # Corresponds to the JSON property `copyrightStrikesGoodStanding` # @return [Boolean] attr_accessor :copyright_strikes_good_standing alias_method :copyright_strikes_good_standing?, :copyright_strikes_good_standing # Describes the general state of the channel. This field will always show if # there are any issues whatsoever with the channel. Currently this field # represents the result of the logical and operation over the community # guidelines good standing, the copyright strikes good standing and the content # ID claims good standing, but this may change in the future. # Corresponds to the JSON property `overallGoodStanding` # @return [Boolean] attr_accessor :overall_good_standing alias_method :overall_good_standing?, :overall_good_standing def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @community_guidelines_good_standing = args[:community_guidelines_good_standing] unless args[:community_guidelines_good_standing].nil? @content_id_claims_good_standing = args[:content_id_claims_good_standing] unless args[:content_id_claims_good_standing].nil? @copyright_strikes_good_standing = args[:copyright_strikes_good_standing] unless args[:copyright_strikes_good_standing].nil? @overall_good_standing = args[:overall_good_standing] unless args[:overall_good_standing].nil? end end # A channel banner returned as the response to a channel_banner.insert call. class ChannelBannerResource include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Identifies what kind of resource this is. Value: the fixed string "youtube# # channelBannerResource". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The URL of this banner image. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @kind = args[:kind] unless args[:kind].nil? @url = args[:url] unless args[:url].nil? end end # Branding properties of a YouTube channel. class ChannelBrandingSettings include Google::Apis::Core::Hashable # Branding properties for the channel view. # Corresponds to the JSON property `channel` # @return [Google::Apis::YoutubeV3::ChannelSettings] attr_accessor :channel # Additional experimental branding properties. # Corresponds to the JSON property `hints` # @return [Array] attr_accessor :hints # Branding properties for images associated with the channel. # Corresponds to the JSON property `image` # @return [Google::Apis::YoutubeV3::ImageSettings] attr_accessor :image # Branding properties for the watch. # Corresponds to the JSON property `watch` # @return [Google::Apis::YoutubeV3::WatchSettings] attr_accessor :watch def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channel = args[:channel] unless args[:channel].nil? @hints = args[:hints] unless args[:hints].nil? @image = args[:image] unless args[:image].nil? @watch = args[:watch] unless args[:watch].nil? end end # Details about the content of a channel. class ChannelContentDetails include Google::Apis::Core::Hashable # The googlePlusUserId object identifies the Google+ profile ID associated with # this channel. # Corresponds to the JSON property `googlePlusUserId` # @return [String] attr_accessor :google_plus_user_id # # Corresponds to the JSON property `relatedPlaylists` # @return [Google::Apis::YoutubeV3::ChannelContentDetails::RelatedPlaylists] attr_accessor :related_playlists def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @google_plus_user_id = args[:google_plus_user_id] unless args[:google_plus_user_id].nil? @related_playlists = args[:related_playlists] unless args[:related_playlists].nil? end # class RelatedPlaylists include Google::Apis::Core::Hashable # The ID of the playlist that contains the channel"s favorite videos. Use the # playlistItems.insert and playlistItems.delete to add or remove items from # that list. # Corresponds to the JSON property `favorites` # @return [String] attr_accessor :favorites # The ID of the playlist that contains the channel"s liked videos. Use the # playlistItems.insert and playlistItems.delete to add or remove items from # that list. # Corresponds to the JSON property `likes` # @return [String] attr_accessor :likes # The ID of the playlist that contains the channel"s uploaded videos. Use the # videos.insert method to upload new videos and the videos.delete method to # delete previously uploaded videos. # Corresponds to the JSON property `uploads` # @return [String] attr_accessor :uploads # The ID of the playlist that contains the channel"s watch history. Use the # playlistItems.insert and playlistItems.delete to add or remove items from # that list. # Corresponds to the JSON property `watchHistory` # @return [String] attr_accessor :watch_history # The ID of the playlist that contains the channel"s watch later playlist. Use # the playlistItems.insert and playlistItems.delete to add or remove items from # that list. # Corresponds to the JSON property `watchLater` # @return [String] attr_accessor :watch_later def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @favorites = args[:favorites] unless args[:favorites].nil? @likes = args[:likes] unless args[:likes].nil? @uploads = args[:uploads] unless args[:uploads].nil? @watch_history = args[:watch_history] unless args[:watch_history].nil? @watch_later = args[:watch_later] unless args[:watch_later].nil? end end end # The contentOwnerDetails object encapsulates channel data that is relevant for # YouTube Partners linked with the channel. class ChannelContentOwnerDetails include Google::Apis::Core::Hashable # The ID of the content owner linked to the channel. # Corresponds to the JSON property `contentOwner` # @return [String] attr_accessor :content_owner # The date and time of when the channel was linked to the content owner. The # value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `timeLinked` # @return [DateTime] attr_accessor :time_linked def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_owner = args[:content_owner] unless args[:content_owner].nil? @time_linked = args[:time_linked] unless args[:time_linked].nil? end end # Pings that the app shall fire (authenticated by biscotti cookie). Each ping # has a context, in which the app must fire the ping, and a url identifying the # ping. class ChannelConversionPing include Google::Apis::Core::Hashable # Defines the context of the ping. # Corresponds to the JSON property `context` # @return [String] attr_accessor :context # The url (without the schema) that the player shall send the ping to. It's at # caller's descretion to decide which schema to use (http vs https) Example of a # returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/ # 962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid% # 3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti # authentication (ms param in case of mobile, for example) to this ping. # Corresponds to the JSON property `conversionUrl` # @return [String] attr_accessor :conversion_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @context = args[:context] unless args[:context].nil? @conversion_url = args[:conversion_url] unless args[:conversion_url].nil? end end # The conversionPings object encapsulates information about conversion pings # that need to be respected by the channel. class ChannelConversionPings include Google::Apis::Core::Hashable # Pings that the app shall fire (authenticated by biscotti cookie). Each ping # has a context, in which the app must fire the ping, and a url identifying the # ping. # Corresponds to the JSON property `pings` # @return [Array] attr_accessor :pings def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @pings = args[:pings] unless args[:pings].nil? end end # class ChannelId include Google::Apis::Core::Hashable # # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @value = args[:value] unless args[:value].nil? end end # class ListChannelsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of channels that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # channelListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Channel localization setting class ChannelLocalization include Google::Apis::Core::Hashable # The localized strings for channel's description. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The localized strings for channel's title. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] unless args[:description].nil? @title = args[:title] unless args[:title].nil? end end # class ChannelSection include Google::Apis::Core::Hashable # Details about a channelsection, including playlists and channels. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::ChannelSectionContentDetails] attr_accessor :content_details # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the channel section. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # channelSection". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Localizations for different languages # Corresponds to the JSON property `localizations` # @return [Hash] attr_accessor :localizations # Basic details about a channel section, including title, style and position. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::ChannelSectionSnippet] attr_accessor :snippet # ChannelSection targeting setting. # Corresponds to the JSON property `targeting` # @return [Google::Apis::YoutubeV3::ChannelSectionTargeting] attr_accessor :targeting def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_details = args[:content_details] unless args[:content_details].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @localizations = args[:localizations] unless args[:localizations].nil? @snippet = args[:snippet] unless args[:snippet].nil? @targeting = args[:targeting] unless args[:targeting].nil? end end # Details about a channelsection, including playlists and channels. class ChannelSectionContentDetails include Google::Apis::Core::Hashable # The channel ids for type multiple_channels. # Corresponds to the JSON property `channels` # @return [Array] attr_accessor :channels # The playlist ids for type single_playlist and multiple_playlists. For # singlePlaylist, only one playlistId is allowed. # Corresponds to the JSON property `playlists` # @return [Array] attr_accessor :playlists def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channels = args[:channels] unless args[:channels].nil? @playlists = args[:playlists] unless args[:playlists].nil? end end # class ListChannelSectionsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of ChannelSections that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # channelSectionListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # ChannelSection localization setting class ChannelSectionLocalization include Google::Apis::Core::Hashable # The localized strings for channel section's title. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @title = args[:title] unless args[:title].nil? end end # Basic details about a channel section, including title, style and position. class ChannelSectionSnippet include Google::Apis::Core::Hashable # The ID that YouTube uses to uniquely identify the channel that published the # channel section. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # The language of the channel section's default title and description. # Corresponds to the JSON property `defaultLanguage` # @return [String] attr_accessor :default_language # ChannelSection localization setting # Corresponds to the JSON property `localized` # @return [Google::Apis::YoutubeV3::ChannelSectionLocalization] attr_accessor :localized # The position of the channel section in the channel. # Corresponds to the JSON property `position` # @return [Fixnum] attr_accessor :position # The style of the channel section. # Corresponds to the JSON property `style` # @return [String] attr_accessor :style # The channel section's title for multiple_playlists and multiple_channels. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # The type of the channel section. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channel_id = args[:channel_id] unless args[:channel_id].nil? @default_language = args[:default_language] unless args[:default_language].nil? @localized = args[:localized] unless args[:localized].nil? @position = args[:position] unless args[:position].nil? @style = args[:style] unless args[:style].nil? @title = args[:title] unless args[:title].nil? @type = args[:type] unless args[:type].nil? end end # ChannelSection targeting setting. class ChannelSectionTargeting include Google::Apis::Core::Hashable # The country the channel section is targeting. # Corresponds to the JSON property `countries` # @return [Array] attr_accessor :countries # The language the channel section is targeting. # Corresponds to the JSON property `languages` # @return [Array] attr_accessor :languages # The region the channel section is targeting. # Corresponds to the JSON property `regions` # @return [Array] attr_accessor :regions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @countries = args[:countries] unless args[:countries].nil? @languages = args[:languages] unless args[:languages].nil? @regions = args[:regions] unless args[:regions].nil? end end # Branding properties for the channel view. class ChannelSettings include Google::Apis::Core::Hashable # The country of the channel. # Corresponds to the JSON property `country` # @return [String] attr_accessor :country # # Corresponds to the JSON property `defaultLanguage` # @return [String] attr_accessor :default_language # Which content tab users should see when viewing the channel. # Corresponds to the JSON property `defaultTab` # @return [String] attr_accessor :default_tab # Specifies the channel description. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Title for the featured channels tab. # Corresponds to the JSON property `featuredChannelsTitle` # @return [String] attr_accessor :featured_channels_title # The list of featured channels. # Corresponds to the JSON property `featuredChannelsUrls` # @return [Array] attr_accessor :featured_channels_urls # Lists keywords associated with the channel, comma-separated. # Corresponds to the JSON property `keywords` # @return [String] attr_accessor :keywords # Whether user-submitted comments left on the channel page need to be approved # by the channel owner to be publicly visible. # Corresponds to the JSON property `moderateComments` # @return [Boolean] attr_accessor :moderate_comments alias_method :moderate_comments?, :moderate_comments # A prominent color that can be rendered on this channel page. # Corresponds to the JSON property `profileColor` # @return [String] attr_accessor :profile_color # Whether the tab to browse the videos should be displayed. # Corresponds to the JSON property `showBrowseView` # @return [Boolean] attr_accessor :show_browse_view alias_method :show_browse_view?, :show_browse_view # Whether related channels should be proposed. # Corresponds to the JSON property `showRelatedChannels` # @return [Boolean] attr_accessor :show_related_channels alias_method :show_related_channels?, :show_related_channels # Specifies the channel title. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # The ID for a Google Analytics account to track and measure traffic to the # channels. # Corresponds to the JSON property `trackingAnalyticsAccountId` # @return [String] attr_accessor :tracking_analytics_account_id # The trailer of the channel, for users that are not subscribers. # Corresponds to the JSON property `unsubscribedTrailer` # @return [String] attr_accessor :unsubscribed_trailer def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @country = args[:country] unless args[:country].nil? @default_language = args[:default_language] unless args[:default_language].nil? @default_tab = args[:default_tab] unless args[:default_tab].nil? @description = args[:description] unless args[:description].nil? @featured_channels_title = args[:featured_channels_title] unless args[:featured_channels_title].nil? @featured_channels_urls = args[:featured_channels_urls] unless args[:featured_channels_urls].nil? @keywords = args[:keywords] unless args[:keywords].nil? @moderate_comments = args[:moderate_comments] unless args[:moderate_comments].nil? @profile_color = args[:profile_color] unless args[:profile_color].nil? @show_browse_view = args[:show_browse_view] unless args[:show_browse_view].nil? @show_related_channels = args[:show_related_channels] unless args[:show_related_channels].nil? @title = args[:title] unless args[:title].nil? @tracking_analytics_account_id = args[:tracking_analytics_account_id] unless args[:tracking_analytics_account_id].nil? @unsubscribed_trailer = args[:unsubscribed_trailer] unless args[:unsubscribed_trailer].nil? end end # Basic details about a channel, including title, description and thumbnails. class ChannelSnippet include Google::Apis::Core::Hashable # The country of the channel. # Corresponds to the JSON property `country` # @return [String] attr_accessor :country # The language of the channel's default title and description. # Corresponds to the JSON property `defaultLanguage` # @return [String] attr_accessor :default_language # The description of the channel. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Channel localization setting # Corresponds to the JSON property `localized` # @return [Google::Apis::YoutubeV3::ChannelLocalization] attr_accessor :localized # The date and time that the channel was created. The value is specified in ISO # 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `publishedAt` # @return [DateTime] attr_accessor :published_at # Internal representation of thumbnails for a YouTube resource. # Corresponds to the JSON property `thumbnails` # @return [Google::Apis::YoutubeV3::ThumbnailDetails] attr_accessor :thumbnails # The channel's title. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @country = args[:country] unless args[:country].nil? @default_language = args[:default_language] unless args[:default_language].nil? @description = args[:description] unless args[:description].nil? @localized = args[:localized] unless args[:localized].nil? @published_at = args[:published_at] unless args[:published_at].nil? @thumbnails = args[:thumbnails] unless args[:thumbnails].nil? @title = args[:title] unless args[:title].nil? end end # Statistics about a channel: number of subscribers, number of videos in the # channel, etc. class ChannelStatistics include Google::Apis::Core::Hashable # The number of comments for the channel. # Corresponds to the JSON property `commentCount` # @return [String] attr_accessor :comment_count # Whether or not the number of subscribers is shown for this user. # Corresponds to the JSON property `hiddenSubscriberCount` # @return [Boolean] attr_accessor :hidden_subscriber_count alias_method :hidden_subscriber_count?, :hidden_subscriber_count # The number of subscribers that the channel has. # Corresponds to the JSON property `subscriberCount` # @return [String] attr_accessor :subscriber_count # The number of videos uploaded to the channel. # Corresponds to the JSON property `videoCount` # @return [String] attr_accessor :video_count # The number of times the channel has been viewed. # Corresponds to the JSON property `viewCount` # @return [String] attr_accessor :view_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @comment_count = args[:comment_count] unless args[:comment_count].nil? @hidden_subscriber_count = args[:hidden_subscriber_count] unless args[:hidden_subscriber_count].nil? @subscriber_count = args[:subscriber_count] unless args[:subscriber_count].nil? @video_count = args[:video_count] unless args[:video_count].nil? @view_count = args[:view_count] unless args[:view_count].nil? end end # JSON template for the status part of a channel. class ChannelStatus include Google::Apis::Core::Hashable # If true, then the user is linked to either a YouTube username or G+ account. # Otherwise, the user doesn't have a public YouTube identity. # Corresponds to the JSON property `isLinked` # @return [Boolean] attr_accessor :is_linked alias_method :is_linked?, :is_linked # The long uploads status of this channel. See # Corresponds to the JSON property `longUploadsStatus` # @return [String] attr_accessor :long_uploads_status # Privacy status of the channel. # Corresponds to the JSON property `privacyStatus` # @return [String] attr_accessor :privacy_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @is_linked = args[:is_linked] unless args[:is_linked].nil? @long_uploads_status = args[:long_uploads_status] unless args[:long_uploads_status].nil? @privacy_status = args[:privacy_status] unless args[:privacy_status].nil? end end # Freebase topic information related to the channel. class ChannelTopicDetails include Google::Apis::Core::Hashable # A list of Freebase topic IDs associated with the channel. You can retrieve # information about each topic using the Freebase Topic API. # Corresponds to the JSON property `topicIds` # @return [Array] attr_accessor :topic_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @topic_ids = args[:topic_ids] unless args[:topic_ids].nil? end end # A comment represents a single YouTube comment. class Comment include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the comment. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # comment". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about a comment, such as its author and text. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::CommentSnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # class ListCommentsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of comments that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # commentListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about a comment, such as its author and text. class CommentSnippet include Google::Apis::Core::Hashable # The id of the author's YouTube channel, if any. # Corresponds to the JSON property `authorChannelId` # @return [Google::Apis::YoutubeV3::ChannelId] attr_accessor :author_channel_id # Link to the author's YouTube channel, if any. # Corresponds to the JSON property `authorChannelUrl` # @return [String] attr_accessor :author_channel_url # The name of the user who posted the comment. # Corresponds to the JSON property `authorDisplayName` # @return [String] attr_accessor :author_display_name # Link to the author's Google+ profile, if any. # Corresponds to the JSON property `authorGoogleplusProfileUrl` # @return [String] attr_accessor :author_googleplus_profile_url # The URL for the avatar of the user who posted the comment. # Corresponds to the JSON property `authorProfileImageUrl` # @return [String] attr_accessor :author_profile_image_url # Whether the current viewer can rate this comment. # Corresponds to the JSON property `canRate` # @return [Boolean] attr_accessor :can_rate alias_method :can_rate?, :can_rate # The id of the corresponding YouTube channel. In case of a channel comment this # is the channel the comment refers to. In case of a video comment it's the # video's channel. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # The total number of likes this comment has received. # Corresponds to the JSON property `likeCount` # @return [Fixnum] attr_accessor :like_count # The comment's moderation status. Will not be set if the comments were # requested through the id filter. # Corresponds to the JSON property `moderationStatus` # @return [String] attr_accessor :moderation_status # The unique id of the parent comment, only set for replies. # Corresponds to the JSON property `parentId` # @return [String] attr_accessor :parent_id # The date and time when the comment was orignally published. The value is # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `publishedAt` # @return [DateTime] attr_accessor :published_at # The comment's text. The format is either plain text or HTML dependent on what # has been requested. Even the plain text representation may differ from the # text originally posted in that it may replace video links with video titles # etc. # Corresponds to the JSON property `textDisplay` # @return [String] attr_accessor :text_display # The comment's original raw text as initially posted or last updated. The # original text will only be returned if it is accessible to the viewer, which # is only guaranteed if the viewer is the comment's author. # Corresponds to the JSON property `textOriginal` # @return [String] attr_accessor :text_original # The date and time when was last updated . The value is specified in ISO 8601 ( # YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `updatedAt` # @return [DateTime] attr_accessor :updated_at # The ID of the video the comment refers to, if any. # Corresponds to the JSON property `videoId` # @return [String] attr_accessor :video_id # The rating the viewer has given to this comment. For the time being this will # never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may # change in the future. # Corresponds to the JSON property `viewerRating` # @return [String] attr_accessor :viewer_rating def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @author_channel_id = args[:author_channel_id] unless args[:author_channel_id].nil? @author_channel_url = args[:author_channel_url] unless args[:author_channel_url].nil? @author_display_name = args[:author_display_name] unless args[:author_display_name].nil? @author_googleplus_profile_url = args[:author_googleplus_profile_url] unless args[:author_googleplus_profile_url].nil? @author_profile_image_url = args[:author_profile_image_url] unless args[:author_profile_image_url].nil? @can_rate = args[:can_rate] unless args[:can_rate].nil? @channel_id = args[:channel_id] unless args[:channel_id].nil? @like_count = args[:like_count] unless args[:like_count].nil? @moderation_status = args[:moderation_status] unless args[:moderation_status].nil? @parent_id = args[:parent_id] unless args[:parent_id].nil? @published_at = args[:published_at] unless args[:published_at].nil? @text_display = args[:text_display] unless args[:text_display].nil? @text_original = args[:text_original] unless args[:text_original].nil? @updated_at = args[:updated_at] unless args[:updated_at].nil? @video_id = args[:video_id] unless args[:video_id].nil? @viewer_rating = args[:viewer_rating] unless args[:viewer_rating].nil? end end # A comment thread represents information that applies to a top level comment # and all its replies. It can also include the top level comment itself and some # of the replies. class CommentThread include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the comment thread. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # commentThread". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Comments written in (direct or indirect) reply to the top level comment. # Corresponds to the JSON property `replies` # @return [Google::Apis::YoutubeV3::CommentThreadReplies] attr_accessor :replies # Basic details about a comment thread. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::CommentThreadSnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @replies = args[:replies] unless args[:replies].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # class ListCommentThreadsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of comment threads that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # commentThreadListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Comments written in (direct or indirect) reply to the top level comment. class CommentThreadReplies include Google::Apis::Core::Hashable # A limited number of replies. Unless the number of replies returned equals # total_reply_count in the snippet the returned replies are only a subset of the # total number of replies. # Corresponds to the JSON property `comments` # @return [Array] attr_accessor :comments def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @comments = args[:comments] unless args[:comments].nil? end end # Basic details about a comment thread. class CommentThreadSnippet include Google::Apis::Core::Hashable # Whether the current viewer of the thread can reply to it. This is viewer # specific - other viewers may see a different value for this field. # Corresponds to the JSON property `canReply` # @return [Boolean] attr_accessor :can_reply alias_method :can_reply?, :can_reply # The YouTube channel the comments in the thread refer to or the channel with # the video the comments refer to. If video_id isn't set the comments refer to # the channel itself. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # Whether the thread (and therefore all its comments) is visible to all YouTube # users. # Corresponds to the JSON property `isPublic` # @return [Boolean] attr_accessor :is_public alias_method :is_public?, :is_public # A comment represents a single YouTube comment. # Corresponds to the JSON property `topLevelComment` # @return [Google::Apis::YoutubeV3::Comment] attr_accessor :top_level_comment # The total number of replies (not including the top level comment). # Corresponds to the JSON property `totalReplyCount` # @return [Fixnum] attr_accessor :total_reply_count # The ID of the video the comments refer to, if any. No video_id implies a # channel discussion comment. # Corresponds to the JSON property `videoId` # @return [String] attr_accessor :video_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @can_reply = args[:can_reply] unless args[:can_reply].nil? @channel_id = args[:channel_id] unless args[:channel_id].nil? @is_public = args[:is_public] unless args[:is_public].nil? @top_level_comment = args[:top_level_comment] unless args[:top_level_comment].nil? @total_reply_count = args[:total_reply_count] unless args[:total_reply_count].nil? @video_id = args[:video_id] unless args[:video_id].nil? end end # Ratings schemes. The country-specific ratings are mostly for movies and shows. # NEXT_ID: 65 class ContentRating include Google::Apis::Core::Hashable # Rating system in Australia - Australian Classification Board # Corresponds to the JSON property `acbRating` # @return [String] attr_accessor :acb_rating # Rating system for Italy - Autorit� per le Garanzie nelle Comunicazioni # Corresponds to the JSON property `agcomRating` # @return [String] attr_accessor :agcom_rating # Rating system for Chile - Asociaci�n Nacional de Televisi�n # Corresponds to the JSON property `anatelRating` # @return [String] attr_accessor :anatel_rating # British Board of Film Classification # Corresponds to the JSON property `bbfcRating` # @return [String] attr_accessor :bbfc_rating # Rating system for Thailand - Board of Filmand Video Censors # Corresponds to the JSON property `bfvcRating` # @return [String] attr_accessor :bfvc_rating # Rating system for Austria - Bundesministeriums f�r Unterricht, Kunst und # Kultur! # Corresponds to the JSON property `bmukkRating` # @return [String] attr_accessor :bmukk_rating # Rating system for Canadian TV - Canadian TV Classification System # Corresponds to the JSON property `catvRating` # @return [String] attr_accessor :catv_rating # Rating system for French Canadian TV - Regie du cinema # Corresponds to the JSON property `catvfrRating` # @return [String] attr_accessor :catvfr_rating # Rating system in India - Central Board of Film Certification # Corresponds to the JSON property `cbfcRating` # @return [String] attr_accessor :cbfc_rating # Rating system for Chile - Consejo de Calificaci�n Cinematogr�fica # Corresponds to the JSON property `cccRating` # @return [String] attr_accessor :ccc_rating # Rating system for Portugal - Comiss�o de Classifica��o de Espect�culos # Corresponds to the JSON property `cceRating` # @return [String] attr_accessor :cce_rating # Rating system for Switzerland - Switzerland Rating System # Corresponds to the JSON property `chfilmRating` # @return [String] attr_accessor :chfilm_rating # Canadian Home Video Rating System # Corresponds to the JSON property `chvrsRating` # @return [String] attr_accessor :chvrs_rating # Rating system for Belgium - Belgium Rating System # Corresponds to the JSON property `cicfRating` # @return [String] attr_accessor :cicf_rating # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA # Corresponds to the JSON property `cnaRating` # @return [String] attr_accessor :cna_rating # Rating system for France - Conseil sup�rieur de l?audiovisuel # Corresponds to the JSON property `csaRating` # @return [String] attr_accessor :csa_rating # Rating system for Luxembourg - Commission de surveillance de la classification # des films # Corresponds to the JSON property `cscfRating` # @return [String] attr_accessor :cscf_rating # Rating system for Czech republic - Czech republic Rating System # Corresponds to the JSON property `czfilmRating` # @return [String] attr_accessor :czfilm_rating # Rating system in Brazil - Department of Justice, Rating, Titles and # Qualification # Corresponds to the JSON property `djctqRating` # @return [String] attr_accessor :djctq_rating # # Corresponds to the JSON property `djctqRatingReasons` # @return [Array] attr_accessor :djctq_rating_reasons # Rating system for Estonia - Estonia Rating System # Corresponds to the JSON property `eefilmRating` # @return [String] attr_accessor :eefilm_rating # Rating system for Egypt - Egypt Rating System # Corresponds to the JSON property `egfilmRating` # @return [String] attr_accessor :egfilm_rating # Rating system in Japan - Eiga Rinri Kanri Iinkai # Corresponds to the JSON property `eirinRating` # @return [String] attr_accessor :eirin_rating # Rating system for Malaysia - Film Censorship Board of Malaysia # Corresponds to the JSON property `fcbmRating` # @return [String] attr_accessor :fcbm_rating # Rating system for Hong kong - Office for Film, Newspaper and Article # Administration # Corresponds to the JSON property `fcoRating` # @return [String] attr_accessor :fco_rating # Rating system in France - French Minister of Culture # Corresponds to the JSON property `fmocRating` # @return [String] attr_accessor :fmoc_rating # Rating system for South africa - Film & Publication Board # Corresponds to the JSON property `fpbRating` # @return [String] attr_accessor :fpb_rating # Rating system in Germany - Voluntary Self Regulation of the Movie Industry # Corresponds to the JSON property `fskRating` # @return [String] attr_accessor :fsk_rating # Rating system for Greece - Greece Rating System # Corresponds to the JSON property `grfilmRating` # @return [String] attr_accessor :grfilm_rating # Rating system in Spain - Instituto de Cinematografia y de las Artes # Audiovisuales # Corresponds to the JSON property `icaaRating` # @return [String] attr_accessor :icaa_rating # Rating system in Ireland - Irish Film Classification Office # Corresponds to the JSON property `ifcoRating` # @return [String] attr_accessor :ifco_rating # Rating system for Israel - Israel Rating System # Corresponds to the JSON property `ilfilmRating` # @return [String] attr_accessor :ilfilm_rating # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales # Corresponds to the JSON property `incaaRating` # @return [String] attr_accessor :incaa_rating # Rating system for Kenya - Kenya Film Classification Board # Corresponds to the JSON property `kfcbRating` # @return [String] attr_accessor :kfcb_rating # Rating system for Netherlands - Nederlands Instituut voor de Classificatie van # Audiovisuele Media # Corresponds to the JSON property `kijkwijzerRating` # @return [String] attr_accessor :kijkwijzer_rating # Rating system in South Korea - Korea Media Rating Board # Corresponds to the JSON property `kmrbRating` # @return [String] attr_accessor :kmrb_rating # Rating system for Indonesia - Lembaga Sensor Film # Corresponds to the JSON property `lsfRating` # @return [String] attr_accessor :lsf_rating # Rating system for Malta - Film Age-Classification Board # Corresponds to the JSON property `mccaaRating` # @return [String] attr_accessor :mccaa_rating # Rating system for Denmark - The Media Council for Children and Young People # Corresponds to the JSON property `mccypRating` # @return [String] attr_accessor :mccyp_rating # Rating system for Singapore - Media Development Authority # Corresponds to the JSON property `mdaRating` # @return [String] attr_accessor :mda_rating # Rating system for Norway - Medietilsynet # Corresponds to the JSON property `medietilsynetRating` # @return [String] attr_accessor :medietilsynet_rating # Rating system for Finland - Finnish Centre for Media Education and Audiovisual # Media # Corresponds to the JSON property `mekuRating` # @return [String] attr_accessor :meku_rating # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del # Turismo # Corresponds to the JSON property `mibacRating` # @return [String] attr_accessor :mibac_rating # Rating system for Colombia - MoC # Corresponds to the JSON property `mocRating` # @return [String] attr_accessor :moc_rating # Rating system for Taiwan - Ministry of Culture - Tawan # Corresponds to the JSON property `moctwRating` # @return [String] attr_accessor :moctw_rating # Motion Picture Association of America rating for the content. # Corresponds to the JSON property `mpaaRating` # @return [String] attr_accessor :mpaa_rating # Rating system for Philippines - MOVIE AND TELEVISION REVIEW AND CLASSIFICATION # BOARD # Corresponds to the JSON property `mtrcbRating` # @return [String] attr_accessor :mtrcb_rating # Rating system for Maldives - National Bureau of Classification # Corresponds to the JSON property `nbcRating` # @return [String] attr_accessor :nbc_rating # Rating system for Poland - National Broadcasting Council # Corresponds to the JSON property `nbcplRating` # @return [String] attr_accessor :nbcpl_rating # Rating system for Bulgaria - National Film Centre # Corresponds to the JSON property `nfrcRating` # @return [String] attr_accessor :nfrc_rating # Rating system for Nigeria - National Film and Video Censors Board # Corresponds to the JSON property `nfvcbRating` # @return [String] attr_accessor :nfvcb_rating # Rating system for Latvia - National Film Center of Latvia # Corresponds to the JSON property `nkclvRating` # @return [String] attr_accessor :nkclv_rating # Rating system in New Zealand - Office of Film and Literature Classification # Corresponds to the JSON property `oflcRating` # @return [String] attr_accessor :oflc_rating # Rating system for Peru - Peru Rating System # Corresponds to the JSON property `pefilmRating` # @return [String] attr_accessor :pefilm_rating # Rating system for Hungary - Rating Committee of the National Office of Film # Corresponds to the JSON property `rcnofRating` # @return [String] attr_accessor :rcnof_rating # Rating system for Venezuela - SiBCI # Corresponds to the JSON property `resorteviolenciaRating` # @return [String] attr_accessor :resorteviolencia_rating # Rating system in Mexico - General Directorate of Radio, Television and # Cinematography # Corresponds to the JSON property `rtcRating` # @return [String] attr_accessor :rtc_rating # Rating system for Ireland - Raidi� Teilif�s �ireann # Corresponds to the JSON property `rteRating` # @return [String] attr_accessor :rte_rating # Rating system in Russia # Corresponds to the JSON property `russiaRating` # @return [String] attr_accessor :russia_rating # Rating system for Slovakia - Slovakia Rating System # Corresponds to the JSON property `skfilmRating` # @return [String] attr_accessor :skfilm_rating # Rating system for Iceland - SMAIS # Corresponds to the JSON property `smaisRating` # @return [String] attr_accessor :smais_rating # Rating system for Sweden - Statens medier�d (National Media Council) # Corresponds to the JSON property `smsaRating` # @return [String] attr_accessor :smsa_rating # TV Parental Guidelines rating of the content. # Corresponds to the JSON property `tvpgRating` # @return [String] attr_accessor :tvpg_rating # Internal YouTube rating. # Corresponds to the JSON property `ytRating` # @return [String] attr_accessor :yt_rating def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @acb_rating = args[:acb_rating] unless args[:acb_rating].nil? @agcom_rating = args[:agcom_rating] unless args[:agcom_rating].nil? @anatel_rating = args[:anatel_rating] unless args[:anatel_rating].nil? @bbfc_rating = args[:bbfc_rating] unless args[:bbfc_rating].nil? @bfvc_rating = args[:bfvc_rating] unless args[:bfvc_rating].nil? @bmukk_rating = args[:bmukk_rating] unless args[:bmukk_rating].nil? @catv_rating = args[:catv_rating] unless args[:catv_rating].nil? @catvfr_rating = args[:catvfr_rating] unless args[:catvfr_rating].nil? @cbfc_rating = args[:cbfc_rating] unless args[:cbfc_rating].nil? @ccc_rating = args[:ccc_rating] unless args[:ccc_rating].nil? @cce_rating = args[:cce_rating] unless args[:cce_rating].nil? @chfilm_rating = args[:chfilm_rating] unless args[:chfilm_rating].nil? @chvrs_rating = args[:chvrs_rating] unless args[:chvrs_rating].nil? @cicf_rating = args[:cicf_rating] unless args[:cicf_rating].nil? @cna_rating = args[:cna_rating] unless args[:cna_rating].nil? @csa_rating = args[:csa_rating] unless args[:csa_rating].nil? @cscf_rating = args[:cscf_rating] unless args[:cscf_rating].nil? @czfilm_rating = args[:czfilm_rating] unless args[:czfilm_rating].nil? @djctq_rating = args[:djctq_rating] unless args[:djctq_rating].nil? @djctq_rating_reasons = args[:djctq_rating_reasons] unless args[:djctq_rating_reasons].nil? @eefilm_rating = args[:eefilm_rating] unless args[:eefilm_rating].nil? @egfilm_rating = args[:egfilm_rating] unless args[:egfilm_rating].nil? @eirin_rating = args[:eirin_rating] unless args[:eirin_rating].nil? @fcbm_rating = args[:fcbm_rating] unless args[:fcbm_rating].nil? @fco_rating = args[:fco_rating] unless args[:fco_rating].nil? @fmoc_rating = args[:fmoc_rating] unless args[:fmoc_rating].nil? @fpb_rating = args[:fpb_rating] unless args[:fpb_rating].nil? @fsk_rating = args[:fsk_rating] unless args[:fsk_rating].nil? @grfilm_rating = args[:grfilm_rating] unless args[:grfilm_rating].nil? @icaa_rating = args[:icaa_rating] unless args[:icaa_rating].nil? @ifco_rating = args[:ifco_rating] unless args[:ifco_rating].nil? @ilfilm_rating = args[:ilfilm_rating] unless args[:ilfilm_rating].nil? @incaa_rating = args[:incaa_rating] unless args[:incaa_rating].nil? @kfcb_rating = args[:kfcb_rating] unless args[:kfcb_rating].nil? @kijkwijzer_rating = args[:kijkwijzer_rating] unless args[:kijkwijzer_rating].nil? @kmrb_rating = args[:kmrb_rating] unless args[:kmrb_rating].nil? @lsf_rating = args[:lsf_rating] unless args[:lsf_rating].nil? @mccaa_rating = args[:mccaa_rating] unless args[:mccaa_rating].nil? @mccyp_rating = args[:mccyp_rating] unless args[:mccyp_rating].nil? @mda_rating = args[:mda_rating] unless args[:mda_rating].nil? @medietilsynet_rating = args[:medietilsynet_rating] unless args[:medietilsynet_rating].nil? @meku_rating = args[:meku_rating] unless args[:meku_rating].nil? @mibac_rating = args[:mibac_rating] unless args[:mibac_rating].nil? @moc_rating = args[:moc_rating] unless args[:moc_rating].nil? @moctw_rating = args[:moctw_rating] unless args[:moctw_rating].nil? @mpaa_rating = args[:mpaa_rating] unless args[:mpaa_rating].nil? @mtrcb_rating = args[:mtrcb_rating] unless args[:mtrcb_rating].nil? @nbc_rating = args[:nbc_rating] unless args[:nbc_rating].nil? @nbcpl_rating = args[:nbcpl_rating] unless args[:nbcpl_rating].nil? @nfrc_rating = args[:nfrc_rating] unless args[:nfrc_rating].nil? @nfvcb_rating = args[:nfvcb_rating] unless args[:nfvcb_rating].nil? @nkclv_rating = args[:nkclv_rating] unless args[:nkclv_rating].nil? @oflc_rating = args[:oflc_rating] unless args[:oflc_rating].nil? @pefilm_rating = args[:pefilm_rating] unless args[:pefilm_rating].nil? @rcnof_rating = args[:rcnof_rating] unless args[:rcnof_rating].nil? @resorteviolencia_rating = args[:resorteviolencia_rating] unless args[:resorteviolencia_rating].nil? @rtc_rating = args[:rtc_rating] unless args[:rtc_rating].nil? @rte_rating = args[:rte_rating] unless args[:rte_rating].nil? @russia_rating = args[:russia_rating] unless args[:russia_rating].nil? @skfilm_rating = args[:skfilm_rating] unless args[:skfilm_rating].nil? @smais_rating = args[:smais_rating] unless args[:smais_rating].nil? @smsa_rating = args[:smsa_rating] unless args[:smsa_rating].nil? @tvpg_rating = args[:tvpg_rating] unless args[:tvpg_rating].nil? @yt_rating = args[:yt_rating] unless args[:yt_rating].nil? end end # Geographical coordinates of a point, in WGS84. class GeoPoint include Google::Apis::Core::Hashable # Altitude above the reference ellipsoid, in meters. # Corresponds to the JSON property `altitude` # @return [Float] attr_accessor :altitude # Latitude in degrees. # Corresponds to the JSON property `latitude` # @return [Float] attr_accessor :latitude # Longitude in degrees. # Corresponds to the JSON property `longitude` # @return [Float] attr_accessor :longitude def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @altitude = args[:altitude] unless args[:altitude].nil? @latitude = args[:latitude] unless args[:latitude].nil? @longitude = args[:longitude] unless args[:longitude].nil? end end # A guideCategory resource identifies a category that YouTube algorithmically # assigns based on a channel's content or other indicators, such as the channel' # s popularity. The list is similar to video categories, with the difference # being that a video's uploader can assign a video category but only YouTube can # assign a channel category. class GuideCategory include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the guide category. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # guideCategory". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about a guide category. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::GuideCategorySnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # class ListGuideCategoriesResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of categories that can be associated with YouTube channels. In this map, # the category ID is the map key, and its value is the corresponding # guideCategory resource. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # guideCategoryListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about a guide category. class GuideCategorySnippet include Google::Apis::Core::Hashable # # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # Description of the guide category. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channel_id = args[:channel_id] unless args[:channel_id].nil? @title = args[:title] unless args[:title].nil? end end # An i18nLanguage resource identifies a UI language currently supported by # YouTube. class I18nLanguage include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the i18n language. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # i18nLanguage". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about an i18n language, such as language code and human-readable # name. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::I18nLanguageSnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # class ListI18nLanguagesResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of supported i18n languages. In this map, the i18n language ID is the # map key, and its value is the corresponding i18nLanguage resource. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # i18nLanguageListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about an i18n language, such as language code and human-readable # name. class I18nLanguageSnippet include Google::Apis::Core::Hashable # A short BCP-47 code that uniquely identifies a language. # Corresponds to the JSON property `hl` # @return [String] attr_accessor :hl # The human-readable name of the language in the language itself. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @hl = args[:hl] unless args[:hl].nil? @name = args[:name] unless args[:name].nil? end end # A i18nRegion resource identifies a region where YouTube is available. class I18nRegion include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the i18n region. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # i18nRegion". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about an i18n region, such as region code and human-readable # name. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::I18nRegionSnippet] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? end end # class ListI18nRegionsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of regions where YouTube is available. In this map, the i18n region ID # is the map key, and its value is the corresponding i18nRegion resource. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # i18nRegionListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about an i18n region, such as region code and human-readable # name. class I18nRegionSnippet include Google::Apis::Core::Hashable # The region code as a 2-letter ISO country code. # Corresponds to the JSON property `gl` # @return [String] attr_accessor :gl # The human-readable name of the region. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @gl = args[:gl] unless args[:gl].nil? @name = args[:name] unless args[:name].nil? end end # Branding properties for images associated with the channel. class ImageSettings include Google::Apis::Core::Hashable # The URL for the background image shown on the video watch page. The image # should be 1200px by 615px, with a maximum file size of 128k. # Corresponds to the JSON property `backgroundImageUrl` # @return [Google::Apis::YoutubeV3::LocalizedProperty] attr_accessor :background_image_url # This is used only in update requests; if it's set, we use this URL to generate # all of the above banner URLs. # Corresponds to the JSON property `bannerExternalUrl` # @return [String] attr_accessor :banner_external_url # Banner image. Desktop size (1060x175). # Corresponds to the JSON property `bannerImageUrl` # @return [String] attr_accessor :banner_image_url # Banner image. Mobile size high resolution (1440x395). # Corresponds to the JSON property `bannerMobileExtraHdImageUrl` # @return [String] attr_accessor :banner_mobile_extra_hd_image_url # Banner image. Mobile size high resolution (1280x360). # Corresponds to the JSON property `bannerMobileHdImageUrl` # @return [String] attr_accessor :banner_mobile_hd_image_url # Banner image. Mobile size (640x175). # Corresponds to the JSON property `bannerMobileImageUrl` # @return [String] attr_accessor :banner_mobile_image_url # Banner image. Mobile size low resolution (320x88). # Corresponds to the JSON property `bannerMobileLowImageUrl` # @return [String] attr_accessor :banner_mobile_low_image_url # Banner image. Mobile size medium/high resolution (960x263). # Corresponds to the JSON property `bannerMobileMediumHdImageUrl` # @return [String] attr_accessor :banner_mobile_medium_hd_image_url # Banner image. Tablet size extra high resolution (2560x424). # Corresponds to the JSON property `bannerTabletExtraHdImageUrl` # @return [String] attr_accessor :banner_tablet_extra_hd_image_url # Banner image. Tablet size high resolution (2276x377). # Corresponds to the JSON property `bannerTabletHdImageUrl` # @return [String] attr_accessor :banner_tablet_hd_image_url # Banner image. Tablet size (1707x283). # Corresponds to the JSON property `bannerTabletImageUrl` # @return [String] attr_accessor :banner_tablet_image_url # Banner image. Tablet size low resolution (1138x188). # Corresponds to the JSON property `bannerTabletLowImageUrl` # @return [String] attr_accessor :banner_tablet_low_image_url # Banner image. TV size high resolution (1920x1080). # Corresponds to the JSON property `bannerTvHighImageUrl` # @return [String] attr_accessor :banner_tv_high_image_url # Banner image. TV size extra high resolution (2120x1192). # Corresponds to the JSON property `bannerTvImageUrl` # @return [String] attr_accessor :banner_tv_image_url # Banner image. TV size low resolution (854x480). # Corresponds to the JSON property `bannerTvLowImageUrl` # @return [String] attr_accessor :banner_tv_low_image_url # Banner image. TV size medium resolution (1280x720). # Corresponds to the JSON property `bannerTvMediumImageUrl` # @return [String] attr_accessor :banner_tv_medium_image_url # The image map script for the large banner image. # Corresponds to the JSON property `largeBrandedBannerImageImapScript` # @return [Google::Apis::YoutubeV3::LocalizedProperty] attr_accessor :large_branded_banner_image_imap_script # The URL for the 854px by 70px image that appears below the video player in the # expanded video view of the video watch page. # Corresponds to the JSON property `largeBrandedBannerImageUrl` # @return [Google::Apis::YoutubeV3::LocalizedProperty] attr_accessor :large_branded_banner_image_url # The image map script for the small banner image. # Corresponds to the JSON property `smallBrandedBannerImageImapScript` # @return [Google::Apis::YoutubeV3::LocalizedProperty] attr_accessor :small_branded_banner_image_imap_script # The URL for the 640px by 70px banner image that appears below the video player # in the default view of the video watch page. # Corresponds to the JSON property `smallBrandedBannerImageUrl` # @return [Google::Apis::YoutubeV3::LocalizedProperty] attr_accessor :small_branded_banner_image_url # The URL for a 1px by 1px tracking pixel that can be used to collect statistics # for views of the channel or video pages. # Corresponds to the JSON property `trackingImageUrl` # @return [String] attr_accessor :tracking_image_url # The URL for the image that appears above the top-left corner of the video # player. This is a 25-pixel-high image with a flexible width that cannot exceed # 170 pixels. # Corresponds to the JSON property `watchIconImageUrl` # @return [String] attr_accessor :watch_icon_image_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_image_url = args[:background_image_url] unless args[:background_image_url].nil? @banner_external_url = args[:banner_external_url] unless args[:banner_external_url].nil? @banner_image_url = args[:banner_image_url] unless args[:banner_image_url].nil? @banner_mobile_extra_hd_image_url = args[:banner_mobile_extra_hd_image_url] unless args[:banner_mobile_extra_hd_image_url].nil? @banner_mobile_hd_image_url = args[:banner_mobile_hd_image_url] unless args[:banner_mobile_hd_image_url].nil? @banner_mobile_image_url = args[:banner_mobile_image_url] unless args[:banner_mobile_image_url].nil? @banner_mobile_low_image_url = args[:banner_mobile_low_image_url] unless args[:banner_mobile_low_image_url].nil? @banner_mobile_medium_hd_image_url = args[:banner_mobile_medium_hd_image_url] unless args[:banner_mobile_medium_hd_image_url].nil? @banner_tablet_extra_hd_image_url = args[:banner_tablet_extra_hd_image_url] unless args[:banner_tablet_extra_hd_image_url].nil? @banner_tablet_hd_image_url = args[:banner_tablet_hd_image_url] unless args[:banner_tablet_hd_image_url].nil? @banner_tablet_image_url = args[:banner_tablet_image_url] unless args[:banner_tablet_image_url].nil? @banner_tablet_low_image_url = args[:banner_tablet_low_image_url] unless args[:banner_tablet_low_image_url].nil? @banner_tv_high_image_url = args[:banner_tv_high_image_url] unless args[:banner_tv_high_image_url].nil? @banner_tv_image_url = args[:banner_tv_image_url] unless args[:banner_tv_image_url].nil? @banner_tv_low_image_url = args[:banner_tv_low_image_url] unless args[:banner_tv_low_image_url].nil? @banner_tv_medium_image_url = args[:banner_tv_medium_image_url] unless args[:banner_tv_medium_image_url].nil? @large_branded_banner_image_imap_script = args[:large_branded_banner_image_imap_script] unless args[:large_branded_banner_image_imap_script].nil? @large_branded_banner_image_url = args[:large_branded_banner_image_url] unless args[:large_branded_banner_image_url].nil? @small_branded_banner_image_imap_script = args[:small_branded_banner_image_imap_script] unless args[:small_branded_banner_image_imap_script].nil? @small_branded_banner_image_url = args[:small_branded_banner_image_url] unless args[:small_branded_banner_image_url].nil? @tracking_image_url = args[:tracking_image_url] unless args[:tracking_image_url].nil? @watch_icon_image_url = args[:watch_icon_image_url] unless args[:watch_icon_image_url].nil? end end # Describes information necessary for ingesting an RTMP or an HTTP stream. class IngestionInfo include Google::Apis::Core::Hashable # The backup ingestion URL that you should use to stream video to YouTube. You # have the option of simultaneously streaming the content that you are sending # to the ingestionAddress to this URL. # Corresponds to the JSON property `backupIngestionAddress` # @return [String] attr_accessor :backup_ingestion_address # The primary ingestion URL that you should use to stream video to YouTube. You # must stream video to this URL. # Depending on which application or tool you use to encode your video stream, # you may need to enter the stream URL and stream name separately or you may # need to concatenate them in the following format: # STREAM_URL/STREAM_NAME # Corresponds to the JSON property `ingestionAddress` # @return [String] attr_accessor :ingestion_address # The HTTP or RTMP stream name that YouTube assigns to the video stream. # Corresponds to the JSON property `streamName` # @return [String] attr_accessor :stream_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backup_ingestion_address = args[:backup_ingestion_address] unless args[:backup_ingestion_address].nil? @ingestion_address = args[:ingestion_address] unless args[:ingestion_address].nil? @stream_name = args[:stream_name] unless args[:stream_name].nil? end end # class InvideoBranding include Google::Apis::Core::Hashable # # Corresponds to the JSON property `imageBytes` # @return [String] attr_accessor :image_bytes # # Corresponds to the JSON property `imageUrl` # @return [String] attr_accessor :image_url # Describes the spatial position of a visual widget inside a video. It is a # union of various position types, out of which only will be set one. # Corresponds to the JSON property `position` # @return [Google::Apis::YoutubeV3::InvideoPosition] attr_accessor :position # # Corresponds to the JSON property `targetChannelId` # @return [String] attr_accessor :target_channel_id # Describes a temporal position of a visual widget inside a video. # Corresponds to the JSON property `timing` # @return [Google::Apis::YoutubeV3::InvideoTiming] attr_accessor :timing def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @image_bytes = args[:image_bytes] unless args[:image_bytes].nil? @image_url = args[:image_url] unless args[:image_url].nil? @position = args[:position] unless args[:position].nil? @target_channel_id = args[:target_channel_id] unless args[:target_channel_id].nil? @timing = args[:timing] unless args[:timing].nil? end end # Describes the spatial position of a visual widget inside a video. It is a # union of various position types, out of which only will be set one. class InvideoPosition include Google::Apis::Core::Hashable # Describes in which corner of the video the visual widget will appear. # Corresponds to the JSON property `cornerPosition` # @return [String] attr_accessor :corner_position # Defines the position type. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @corner_position = args[:corner_position] unless args[:corner_position].nil? @type = args[:type] unless args[:type].nil? end end # Describes an invideo promotion campaign consisting of multiple promoted items. # A campaign belongs to a single channel_id. class InvideoPromotion include Google::Apis::Core::Hashable # Describes a temporal position of a visual widget inside a video. # Corresponds to the JSON property `defaultTiming` # @return [Google::Apis::YoutubeV3::InvideoTiming] attr_accessor :default_timing # List of promoted items in decreasing priority. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Describes the spatial position of a visual widget inside a video. It is a # union of various position types, out of which only will be set one. # Corresponds to the JSON property `position` # @return [Google::Apis::YoutubeV3::InvideoPosition] attr_accessor :position # Indicates whether the channel's promotional campaign uses "smart timing." This # feature attempts to show promotions at a point in the video when they are more # likely to be clicked and less likely to disrupt the viewing experience. This # feature also picks up a single promotion to show on each video. # Corresponds to the JSON property `useSmartTiming` # @return [Boolean] attr_accessor :use_smart_timing alias_method :use_smart_timing?, :use_smart_timing def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @default_timing = args[:default_timing] unless args[:default_timing].nil? @items = args[:items] unless args[:items].nil? @position = args[:position] unless args[:position].nil? @use_smart_timing = args[:use_smart_timing] unless args[:use_smart_timing].nil? end end # Describes a temporal position of a visual widget inside a video. class InvideoTiming include Google::Apis::Core::Hashable # Defines the duration in milliseconds for which the promotion should be # displayed. If missing, the client should use the default. # Corresponds to the JSON property `durationMs` # @return [String] attr_accessor :duration_ms # Defines the time at which the promotion will appear. Depending on the value of # type the value of the offsetMs field will represent a time offset from the # start or from the end of the video, expressed in milliseconds. # Corresponds to the JSON property `offsetMs` # @return [String] attr_accessor :offset_ms # Describes a timing type. If the value is offsetFromStart, then the offsetMs # field represents an offset from the start of the video. If the value is # offsetFromEnd, then the offsetMs field represents an offset from the end of # the video. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @duration_ms = args[:duration_ms] unless args[:duration_ms].nil? @offset_ms = args[:offset_ms] unless args[:offset_ms].nil? @type = args[:type] unless args[:type].nil? end end # class LanguageTag include Google::Apis::Core::Hashable # # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @value = args[:value] unless args[:value].nil? end end # A liveBroadcast resource represents an event that will be streamed, via live # video, on YouTube. class LiveBroadcast include Google::Apis::Core::Hashable # Detailed settings of a broadcast. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::LiveBroadcastContentDetails] attr_accessor :content_details # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube assigns to uniquely identify the broadcast. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # liveBroadcast". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The snippet object contains basic details about the event, including its title, # description, start time, and end time. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::LiveBroadcastSnippet] attr_accessor :snippet # Statistics about the live broadcast. These represent a snapshot of the values # at the time of the request. Statistics are only returned for live broadcasts. # Corresponds to the JSON property `statistics` # @return [Google::Apis::YoutubeV3::LiveBroadcastStatistics] attr_accessor :statistics # The status object contains information about the event's status. # Corresponds to the JSON property `status` # @return [Google::Apis::YoutubeV3::LiveBroadcastStatus] attr_accessor :status # # Corresponds to the JSON property `topicDetails` # @return [Google::Apis::YoutubeV3::LiveBroadcastTopicDetails] attr_accessor :topic_details def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_details = args[:content_details] unless args[:content_details].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? @statistics = args[:statistics] unless args[:statistics].nil? @status = args[:status] unless args[:status].nil? @topic_details = args[:topic_details] unless args[:topic_details].nil? end end # Detailed settings of a broadcast. class LiveBroadcastContentDetails include Google::Apis::Core::Hashable # This value uniquely identifies the live stream bound to the broadcast. # Corresponds to the JSON property `boundStreamId` # @return [String] attr_accessor :bound_stream_id # This setting indicates whether closed captioning is enabled for this broadcast. # The ingestion URL of the closed captions is returned through the liveStreams # API. # Corresponds to the JSON property `enableClosedCaptions` # @return [Boolean] attr_accessor :enable_closed_captions alias_method :enable_closed_captions?, :enable_closed_captions # This setting indicates whether YouTube should enable content encryption for # the broadcast. # Corresponds to the JSON property `enableContentEncryption` # @return [Boolean] attr_accessor :enable_content_encryption alias_method :enable_content_encryption?, :enable_content_encryption # This setting determines whether viewers can access DVR controls while watching # the video. DVR controls enable the viewer to control the video playback # experience by pausing, rewinding, or fast forwarding content. The default # value for this property is true. # Important: You must set the value to true and also set the enableArchive # property's value to true if you want to make playback available immediately # after the broadcast ends. # Corresponds to the JSON property `enableDvr` # @return [Boolean] attr_accessor :enable_dvr alias_method :enable_dvr?, :enable_dvr # This setting indicates whether the broadcast video can be played in an # embedded player. If you choose to archive the video (using the enableArchive # property), this setting will also apply to the archived video. # Corresponds to the JSON property `enableEmbed` # @return [Boolean] attr_accessor :enable_embed alias_method :enable_embed?, :enable_embed # # Corresponds to the JSON property `enableLowLatency` # @return [Boolean] attr_accessor :enable_low_latency alias_method :enable_low_latency?, :enable_low_latency # Settings and Info of the monitor stream # Corresponds to the JSON property `monitorStream` # @return [Google::Apis::YoutubeV3::MonitorStreamInfo] attr_accessor :monitor_stream # Automatically start recording after the event goes live. The default value for # this property is true. # Important: You must also set the enableDvr property's value to true if you # want the playback to be available immediately after the broadcast ends. If you # set this property's value to true but do not also set the enableDvr property # to true, there may be a delay of around one day before the archived video will # be available for playback. # Corresponds to the JSON property `recordFromStart` # @return [Boolean] attr_accessor :record_from_start alias_method :record_from_start?, :record_from_start # This setting indicates whether the broadcast should automatically begin with # an in-stream slate when you update the broadcast's status to live. After # updating the status, you then need to send a liveCuepoints.insert request that # sets the cuepoint's eventState to end to remove the in-stream slate and make # your broadcast stream visible to viewers. # Corresponds to the JSON property `startWithSlate` # @return [Boolean] attr_accessor :start_with_slate alias_method :start_with_slate?, :start_with_slate def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bound_stream_id = args[:bound_stream_id] unless args[:bound_stream_id].nil? @enable_closed_captions = args[:enable_closed_captions] unless args[:enable_closed_captions].nil? @enable_content_encryption = args[:enable_content_encryption] unless args[:enable_content_encryption].nil? @enable_dvr = args[:enable_dvr] unless args[:enable_dvr].nil? @enable_embed = args[:enable_embed] unless args[:enable_embed].nil? @enable_low_latency = args[:enable_low_latency] unless args[:enable_low_latency].nil? @monitor_stream = args[:monitor_stream] unless args[:monitor_stream].nil? @record_from_start = args[:record_from_start] unless args[:record_from_start].nil? @start_with_slate = args[:start_with_slate] unless args[:start_with_slate].nil? end end # class ListLiveBroadcastsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of broadcasts that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # liveBroadcastListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # class LiveBroadcastSnippet include Google::Apis::Core::Hashable # The date and time that the broadcast actually ended. This information is only # available once the broadcast's state is complete. The value is specified in # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `actualEndTime` # @return [DateTime] attr_accessor :actual_end_time # The date and time that the broadcast actually started. This information is # only available once the broadcast's state is live. The value is specified in # ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `actualStartTime` # @return [DateTime] attr_accessor :actual_start_time # The ID that YouTube uses to uniquely identify the channel that is publishing # the broadcast. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # The broadcast's description. As with the title, you can set this field by # modifying the broadcast resource or by setting the description field of the # corresponding video resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `isDefaultBroadcast` # @return [Boolean] attr_accessor :is_default_broadcast alias_method :is_default_broadcast?, :is_default_broadcast # The date and time that the broadcast was added to YouTube's live broadcast # schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `publishedAt` # @return [DateTime] attr_accessor :published_at # The date and time that the broadcast is scheduled to end. The value is # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `scheduledEndTime` # @return [DateTime] attr_accessor :scheduled_end_time # The date and time that the broadcast is scheduled to start. The value is # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `scheduledStartTime` # @return [DateTime] attr_accessor :scheduled_start_time # Internal representation of thumbnails for a YouTube resource. # Corresponds to the JSON property `thumbnails` # @return [Google::Apis::YoutubeV3::ThumbnailDetails] attr_accessor :thumbnails # The broadcast's title. Note that the broadcast represents exactly one YouTube # video. You can set this field by modifying the broadcast resource or by # setting the title field of the corresponding video resource. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @actual_end_time = args[:actual_end_time] unless args[:actual_end_time].nil? @actual_start_time = args[:actual_start_time] unless args[:actual_start_time].nil? @channel_id = args[:channel_id] unless args[:channel_id].nil? @description = args[:description] unless args[:description].nil? @is_default_broadcast = args[:is_default_broadcast] unless args[:is_default_broadcast].nil? @published_at = args[:published_at] unless args[:published_at].nil? @scheduled_end_time = args[:scheduled_end_time] unless args[:scheduled_end_time].nil? @scheduled_start_time = args[:scheduled_start_time] unless args[:scheduled_start_time].nil? @thumbnails = args[:thumbnails] unless args[:thumbnails].nil? @title = args[:title] unless args[:title].nil? end end # Statistics about the live broadcast. These represent a snapshot of the values # at the time of the request. Statistics are only returned for live broadcasts. class LiveBroadcastStatistics include Google::Apis::Core::Hashable # The number of viewers currently watching the broadcast. The property and its # value will be present if the broadcast has current viewers and the broadcast # owner has not hidden the viewcount for the video. Note that YouTube stops # tracking the number of concurrent viewers for a broadcast when the broadcast # ends. So, this property would not identify the number of viewers watching an # archived video of a live broadcast that already ended. # Corresponds to the JSON property `concurrentViewers` # @return [String] attr_accessor :concurrent_viewers # The total number of live chat messages currently on the broadcast. The # property and its value will be present if the broadcast is public, has the # live chat feature enabled, and has at least one message. Note that this field # will not be filled after the broadcast ends. So this property would not # identify the number of chat messages for an archived video of a completed live # broadcast. # Corresponds to the JSON property `totalChatCount` # @return [String] attr_accessor :total_chat_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @concurrent_viewers = args[:concurrent_viewers] unless args[:concurrent_viewers].nil? @total_chat_count = args[:total_chat_count] unless args[:total_chat_count].nil? end end # class LiveBroadcastStatus include Google::Apis::Core::Hashable # The broadcast's status. The status can be updated using the API's # liveBroadcasts.transition method. # Corresponds to the JSON property `lifeCycleStatus` # @return [String] attr_accessor :life_cycle_status # Priority of the live broadcast event (internal state). # Corresponds to the JSON property `liveBroadcastPriority` # @return [String] attr_accessor :live_broadcast_priority # The broadcast's privacy status. Note that the broadcast represents exactly one # YouTube video, so the privacy settings are identical to those supported for # videos. In addition, you can set this field by modifying the broadcast # resource or by setting the privacyStatus field of the corresponding video # resource. # Corresponds to the JSON property `privacyStatus` # @return [String] attr_accessor :privacy_status # The broadcast's recording status. # Corresponds to the JSON property `recordingStatus` # @return [String] attr_accessor :recording_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @life_cycle_status = args[:life_cycle_status] unless args[:life_cycle_status].nil? @live_broadcast_priority = args[:live_broadcast_priority] unless args[:live_broadcast_priority].nil? @privacy_status = args[:privacy_status] unless args[:privacy_status].nil? @recording_status = args[:recording_status] unless args[:recording_status].nil? end end # class LiveBroadcastTopic include Google::Apis::Core::Hashable # Information about the topic matched. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::LiveBroadcastTopicSnippet] attr_accessor :snippet # The type of the topic. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # If this flag is set it means that we have not been able to match the topic # title and type provided to a known entity. # Corresponds to the JSON property `unmatched` # @return [Boolean] attr_accessor :unmatched alias_method :unmatched?, :unmatched def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @snippet = args[:snippet] unless args[:snippet].nil? @type = args[:type] unless args[:type].nil? @unmatched = args[:unmatched] unless args[:unmatched].nil? end end # class LiveBroadcastTopicDetails include Google::Apis::Core::Hashable # # Corresponds to the JSON property `topics` # @return [Array] attr_accessor :topics def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @topics = args[:topics] unless args[:topics].nil? end end # class LiveBroadcastTopicSnippet include Google::Apis::Core::Hashable # The name of the topic. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The date at which the topic was released. Filled for types: videoGame # Corresponds to the JSON property `releaseDate` # @return [String] attr_accessor :release_date def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] unless args[:name].nil? @release_date = args[:release_date] unless args[:release_date].nil? end end # A live stream describes a live ingestion point. class LiveStream include Google::Apis::Core::Hashable # Brief description of the live stream cdn settings. # Corresponds to the JSON property `cdn` # @return [Google::Apis::YoutubeV3::CdnSettings] attr_accessor :cdn # Detailed settings of a stream. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::LiveStreamContentDetails] attr_accessor :content_details # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube assigns to uniquely identify the stream. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # liveStream". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The snippet object contains basic details about the stream, including its # channel, title, and description. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::LiveStreamSnippet] attr_accessor :snippet # Brief description of the live stream status. # Corresponds to the JSON property `status` # @return [Google::Apis::YoutubeV3::LiveStreamStatus] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cdn = args[:cdn] unless args[:cdn].nil? @content_details = args[:content_details] unless args[:content_details].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? @status = args[:status] unless args[:status].nil? end end # class LiveStreamConfigurationIssue include Google::Apis::Core::Hashable # The long-form description of the issue and how to resolve it. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The short-form reason for this issue. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason # How severe this issue is to the stream. # Corresponds to the JSON property `severity` # @return [String] attr_accessor :severity # The kind of error happening. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] unless args[:description].nil? @reason = args[:reason] unless args[:reason].nil? @severity = args[:severity] unless args[:severity].nil? @type = args[:type] unless args[:type].nil? end end # Detailed settings of a stream. class LiveStreamContentDetails include Google::Apis::Core::Hashable # The ingestion URL where the closed captions of this stream are sent. # Corresponds to the JSON property `closedCaptionsIngestionUrl` # @return [String] attr_accessor :closed_captions_ingestion_url # Indicates whether the stream is reusable, which means that it can be bound to # multiple broadcasts. It is common for broadcasters to reuse the same stream # for many different broadcasts if those broadcasts occur at different times. # If you set this value to false, then the stream will not be reusable, which # means that it can only be bound to one broadcast. Non-reusable streams differ # from reusable streams in the following ways: # - A non-reusable stream can only be bound to one broadcast. # - A non-reusable stream might be deleted by an automated process after the # broadcast ends. # - The liveStreams.list method does not list non-reusable streams if you call # the method and set the mine parameter to true. The only way to use that method # to retrieve the resource for a non-reusable stream is to use the id parameter # to identify the stream. # Corresponds to the JSON property `isReusable` # @return [Boolean] attr_accessor :is_reusable alias_method :is_reusable?, :is_reusable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @closed_captions_ingestion_url = args[:closed_captions_ingestion_url] unless args[:closed_captions_ingestion_url].nil? @is_reusable = args[:is_reusable] unless args[:is_reusable].nil? end end # class LiveStreamHealthStatus include Google::Apis::Core::Hashable # The configurations issues on this stream # Corresponds to the JSON property `configurationIssues` # @return [Array] attr_accessor :configuration_issues # The last time this status was updated (in seconds) # Corresponds to the JSON property `lastUpdateTimeS` # @return [String] attr_accessor :last_update_time_s # The status code of this stream # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @configuration_issues = args[:configuration_issues] unless args[:configuration_issues].nil? @last_update_time_s = args[:last_update_time_s] unless args[:last_update_time_s].nil? @status = args[:status] unless args[:status].nil? end end # class ListLiveStreamsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of live streams that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # liveStreamListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # class LiveStreamSnippet include Google::Apis::Core::Hashable # The ID that YouTube uses to uniquely identify the channel that is transmitting # the stream. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # The stream's description. The value cannot be longer than 10000 characters. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `isDefaultStream` # @return [Boolean] attr_accessor :is_default_stream alias_method :is_default_stream?, :is_default_stream # The date and time that the stream was created. The value is specified in ISO # 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `publishedAt` # @return [DateTime] attr_accessor :published_at # The stream's title. The value must be between 1 and 128 characters long. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channel_id = args[:channel_id] unless args[:channel_id].nil? @description = args[:description] unless args[:description].nil? @is_default_stream = args[:is_default_stream] unless args[:is_default_stream].nil? @published_at = args[:published_at] unless args[:published_at].nil? @title = args[:title] unless args[:title].nil? end end # Brief description of the live stream status. class LiveStreamStatus include Google::Apis::Core::Hashable # The health status of the stream. # Corresponds to the JSON property `healthStatus` # @return [Google::Apis::YoutubeV3::LiveStreamHealthStatus] attr_accessor :health_status # # Corresponds to the JSON property `streamStatus` # @return [String] attr_accessor :stream_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_status = args[:health_status] unless args[:health_status].nil? @stream_status = args[:stream_status] unless args[:stream_status].nil? end end # class LocalizedProperty include Google::Apis::Core::Hashable # # Corresponds to the JSON property `default` # @return [String] attr_accessor :default # The language of the default property. # Corresponds to the JSON property `defaultLanguage` # @return [Google::Apis::YoutubeV3::LanguageTag] attr_accessor :default_language # # Corresponds to the JSON property `localized` # @return [Array] attr_accessor :localized def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @default = args[:default] unless args[:default].nil? @default_language = args[:default_language] unless args[:default_language].nil? @localized = args[:localized] unless args[:localized].nil? end end # class LocalizedString include Google::Apis::Core::Hashable # # Corresponds to the JSON property `language` # @return [String] attr_accessor :language # # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @language = args[:language] unless args[:language].nil? @value = args[:value] unless args[:value].nil? end end # Settings and Info of the monitor stream class MonitorStreamInfo include Google::Apis::Core::Hashable # If you have set the enableMonitorStream property to true, then this property # determines the length of the live broadcast delay. # Corresponds to the JSON property `broadcastStreamDelayMs` # @return [Fixnum] attr_accessor :broadcast_stream_delay_ms # HTML code that embeds a player that plays the monitor stream. # Corresponds to the JSON property `embedHtml` # @return [String] attr_accessor :embed_html # This value determines whether the monitor stream is enabled for the broadcast. # If the monitor stream is enabled, then YouTube will broadcast the event # content on a special stream intended only for the broadcaster's consumption. # The broadcaster can use the stream to review the event content and also to # identify the optimal times to insert cuepoints. # You need to set this value to true if you intend to have a broadcast delay for # your event. # Note: This property cannot be updated once the broadcast is in the testing or # live state. # Corresponds to the JSON property `enableMonitorStream` # @return [Boolean] attr_accessor :enable_monitor_stream alias_method :enable_monitor_stream?, :enable_monitor_stream def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @broadcast_stream_delay_ms = args[:broadcast_stream_delay_ms] unless args[:broadcast_stream_delay_ms].nil? @embed_html = args[:embed_html] unless args[:embed_html].nil? @enable_monitor_stream = args[:enable_monitor_stream] unless args[:enable_monitor_stream].nil? end end # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. class PageInfo include Google::Apis::Core::Hashable # The number of results included in the API response. # Corresponds to the JSON property `resultsPerPage` # @return [Fixnum] attr_accessor :results_per_page # The total number of results in the result set. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @results_per_page = args[:results_per_page] unless args[:results_per_page].nil? @total_results = args[:total_results] unless args[:total_results].nil? end end # A playlist resource represents a YouTube playlist. A playlist is a collection # of videos that can be viewed sequentially and shared with other users. A # playlist can contain up to 200 videos, and YouTube does not limit the number # of playlists that each user creates. By default, playlists are publicly # visible to other users, but playlists can be public or private. # YouTube also uses playlists to identify special collections of videos for a # channel, such as: # - uploaded videos # - favorite videos # - positively rated (liked) videos # - watch history # - watch later To be more specific, these lists are associated with a channel, # which is a collection of a person, group, or company's videos, playlists, and # other YouTube information. You can retrieve the playlist IDs for each of these # lists from the channel resource for a given channel. # You can then use the playlistItems.list method to retrieve any of those # lists. You can also add or remove items from those lists by calling the # playlistItems.insert and playlistItems.delete methods. class Playlist include Google::Apis::Core::Hashable # The contentDetails object contains information like video count. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::PlaylistContentDetails] attr_accessor :content_details # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the playlist. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # playlist". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Localizations for different languages # Corresponds to the JSON property `localizations` # @return [Hash] attr_accessor :localizations # The player object contains information that you would use to play the playlist # in an embedded player. # Corresponds to the JSON property `player` # @return [Google::Apis::YoutubeV3::PlaylistPlayer] attr_accessor :player # Basic details about a playlist, including title, description and thumbnails. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::PlaylistSnippet] attr_accessor :snippet # The status object contains status information for the playlist. # Corresponds to the JSON property `status` # @return [Google::Apis::YoutubeV3::PlaylistStatus] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_details = args[:content_details] unless args[:content_details].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @localizations = args[:localizations] unless args[:localizations].nil? @player = args[:player] unless args[:player].nil? @snippet = args[:snippet] unless args[:snippet].nil? @status = args[:status] unless args[:status].nil? end end # class PlaylistContentDetails include Google::Apis::Core::Hashable # The number of videos in the playlist. # Corresponds to the JSON property `itemCount` # @return [Fixnum] attr_accessor :item_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @item_count = args[:item_count] unless args[:item_count].nil? end end # A playlistItem resource identifies another resource, such as a video, that is # included in a playlist. In addition, the playlistItem resource contains # details about the included resource that pertain specifically to how that # resource is used in that playlist. # YouTube uses playlists to identify special collections of videos for a channel, # such as: # - uploaded videos # - favorite videos # - positively rated (liked) videos # - watch history # - watch later To be more specific, these lists are associated with a channel, # which is a collection of a person, group, or company's videos, playlists, and # other YouTube information. # You can retrieve the playlist IDs for each of these lists from the channel # resource for a given channel. You can then use the playlistItems.list # method to retrieve any of those lists. You can also add or remove items from # those lists by calling the playlistItems.insert and playlistItems.delete # methods. For example, if a user gives a positive rating to a video, you would # insert that video into the liked videos playlist for that user's channel. class PlaylistItem include Google::Apis::Core::Hashable # The contentDetails object is included in the resource if the included item is # a YouTube video. The object contains additional information about the video. # Corresponds to the JSON property `contentDetails` # @return [Google::Apis::YoutubeV3::PlaylistItemContentDetails] attr_accessor :content_details # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # The ID that YouTube uses to uniquely identify the playlist item. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Identifies what kind of resource this is. Value: the fixed string "youtube# # playlistItem". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Basic details about a playlist, including title, description and thumbnails. # Corresponds to the JSON property `snippet` # @return [Google::Apis::YoutubeV3::PlaylistItemSnippet] attr_accessor :snippet # Information about the playlist item's privacy status. # Corresponds to the JSON property `status` # @return [Google::Apis::YoutubeV3::PlaylistItemStatus] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_details = args[:content_details] unless args[:content_details].nil? @etag = args[:etag] unless args[:etag].nil? @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @snippet = args[:snippet] unless args[:snippet].nil? @status = args[:status] unless args[:status].nil? end end # class PlaylistItemContentDetails include Google::Apis::Core::Hashable # The time, measured in seconds from the start of the video, when the video # should stop playing. (The playlist owner can specify the times when the video # should start and stop playing when the video is played in the context of the # playlist.) By default, assume that the video.endTime is the end of the video. # Corresponds to the JSON property `endAt` # @return [String] attr_accessor :end_at # A user-generated note for this item. # Corresponds to the JSON property `note` # @return [String] attr_accessor :note # The time, measured in seconds from the start of the video, when the video # should start playing. (The playlist owner can specify the times when the video # should start and stop playing when the video is played in the context of the # playlist.) The default value is 0. # Corresponds to the JSON property `startAt` # @return [String] attr_accessor :start_at # The ID that YouTube uses to uniquely identify a video. To retrieve the video # resource, set the id query parameter to this value in your API request. # Corresponds to the JSON property `videoId` # @return [String] attr_accessor :video_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_at = args[:end_at] unless args[:end_at].nil? @note = args[:note] unless args[:note].nil? @start_at = args[:start_at] unless args[:start_at].nil? @video_id = args[:video_id] unless args[:video_id].nil? end end # class ListPlaylistItemsResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of playlist items that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # playlistItemListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Basic details about a playlist, including title, description and thumbnails. class PlaylistItemSnippet include Google::Apis::Core::Hashable # The ID that YouTube uses to uniquely identify the user that added the item to # the playlist. # Corresponds to the JSON property `channelId` # @return [String] attr_accessor :channel_id # Channel title for the channel that the playlist item belongs to. # Corresponds to the JSON property `channelTitle` # @return [String] attr_accessor :channel_title # The item's description. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The ID that YouTube uses to uniquely identify the playlist that the playlist # item is in. # Corresponds to the JSON property `playlistId` # @return [String] attr_accessor :playlist_id # The order in which the item appears in the playlist. The value uses a zero- # based index, so the first item has a position of 0, the second item has a # position of 1, and so forth. # Corresponds to the JSON property `position` # @return [Fixnum] attr_accessor :position # The date and time that the item was added to the playlist. The value is # specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. # Corresponds to the JSON property `publishedAt` # @return [DateTime] attr_accessor :published_at # A resource id is a generic reference that points to another YouTube resource. # Corresponds to the JSON property `resourceId` # @return [Google::Apis::YoutubeV3::ResourceId] attr_accessor :resource_id # Internal representation of thumbnails for a YouTube resource. # Corresponds to the JSON property `thumbnails` # @return [Google::Apis::YoutubeV3::ThumbnailDetails] attr_accessor :thumbnails # The item's title. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @channel_id = args[:channel_id] unless args[:channel_id].nil? @channel_title = args[:channel_title] unless args[:channel_title].nil? @description = args[:description] unless args[:description].nil? @playlist_id = args[:playlist_id] unless args[:playlist_id].nil? @position = args[:position] unless args[:position].nil? @published_at = args[:published_at] unless args[:published_at].nil? @resource_id = args[:resource_id] unless args[:resource_id].nil? @thumbnails = args[:thumbnails] unless args[:thumbnails].nil? @title = args[:title] unless args[:title].nil? end end # Information about the playlist item's privacy status. class PlaylistItemStatus include Google::Apis::Core::Hashable # This resource's privacy status. # Corresponds to the JSON property `privacyStatus` # @return [String] attr_accessor :privacy_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @privacy_status = args[:privacy_status] unless args[:privacy_status].nil? end end # class ListPlaylistResponse include Google::Apis::Core::Hashable # Etag of this resource. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Serialized EventId of the request which produced this response. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # A list of playlists that match the request criteria. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Identifies what kind of resource this is. Value: the fixed string "youtube# # playlistListResponse". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The token that can be used as the value of the pageToken parameter to retrieve # the next page in the result set. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Paging details for lists of resources, including total number of items # available and number of resources returned in a single page. # Corresponds to the JSON property `pageInfo` # @return [Google::Apis::YoutubeV3::PageInfo] attr_accessor :page_info # The token that can be used as the value of the pageToken parameter to retrieve # the previous page in the result set. # Corresponds to the JSON property `prevPageToken` # @return [String] attr_accessor :prev_page_token # Stub token pagination template to suppress results. # Corresponds to the JSON property `tokenPagination` # @return [Google::Apis::YoutubeV3::TokenPagination] attr_accessor :token_pagination # The visitorId identifies the visitor. # Corresponds to the JSON property `visitorId` # @return [String] attr_accessor :visitor_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] unless args[:etag].nil? @event_id = args[:event_id] unless args[:event_id].nil? @items = args[:items] unless args[:items].nil? @kind = args[:kind] unless args[:kind].nil? @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? @page_info = args[:page_info] unless args[:page_info].nil? @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil? @token_pagination = args[:token_pagination] unless args[:token_pagination].nil? @visitor_id = args[:visitor_id] unless args[:visitor_id].nil? end end # Playlist localization setting class PlaylistLocalization include Google::Apis::Core::Hashable # The localized strings for playlist's description. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The localized strings for playlist's title. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] unless args[:description].nil? @title = args[:title] unless args[:title].nil? end end # class PlaylistPlayer include Google::Apis::Core::Hashable # An