googleapis
Version:
Google APIs Client Library for Node.js
1,659 lines • 322 kB
TypeScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* 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.
*/
import { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
* YouTube Data API
*
* Supports core YouTube features, such as uploading videos, creating and
* managing playlists, searching for content, and much more.
*
* @example
* const google = require('googleapis');
* const youtube = google.youtube('v3');
*
* @namespace youtube
* @type {Function}
* @version v3
* @variation v3
* @param {object=} options Options for Youtube
*/
export declare class Youtube {
_options: GlobalOptions;
google: GoogleApis;
root: this;
activities: Resource$Activities;
captions: Resource$Captions;
channelBanners: Resource$Channelbanners;
channels: Resource$Channels;
channelSections: Resource$Channelsections;
comments: Resource$Comments;
commentThreads: Resource$Commentthreads;
fanFundingEvents: Resource$Fanfundingevents;
guideCategories: Resource$Guidecategories;
i18nLanguages: Resource$I18nlanguages;
i18nRegions: Resource$I18nregions;
liveBroadcasts: Resource$Livebroadcasts;
liveChatBans: Resource$Livechatbans;
liveChatMessages: Resource$Livechatmessages;
liveChatModerators: Resource$Livechatmoderators;
liveStreams: Resource$Livestreams;
playlistItems: Resource$Playlistitems;
playlists: Resource$Playlists;
search: Resource$Search;
sponsors: Resource$Sponsors;
subscriptions: Resource$Subscriptions;
superChatEvents: Resource$Superchatevents;
thumbnails: Resource$Thumbnails;
videoAbuseReportReasons: Resource$Videoabusereportreasons;
videoCategories: Resource$Videocategories;
videos: Resource$Videos;
watermarks: Resource$Watermarks;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
/**
* Rights management policy for YouTube resources.
*/
export interface Schema$AccessPolicy {
/**
* The value of allowed indicates whether the access to the policy is allowed
* or denied by default.
*/
allowed: boolean;
/**
* A list of region codes that identify countries where the default policy do
* not apply.
*/
exception: string[];
}
/**
* 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.
*/
export interface Schema$Activity {
/**
* The contentDetails object contains information about the content associated
* with the activity. For example, if the snippet.type value is videoRated,
* then the contentDetails object's content identifies the rated video.
*/
contentDetails: Schema$ActivityContentDetails;
/**
* Etag of this resource.
*/
etag: string;
/**
* The ID that YouTube uses to uniquely identify the activity.
*/
id: string;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#activity".
*/
kind: string;
/**
* The snippet object contains basic details about the activity, including the
* activity's type and group ID.
*/
snippet: Schema$ActivitySnippet;
}
/**
* Details about the content of an activity: the video that was shared, the
* channel that was subscribed to, etc.
*/
export interface Schema$ActivityContentDetails {
/**
* The bulletin object contains details about a channel bulletin post. This
* object is only present if the snippet.type is bulletin.
*/
bulletin: Schema$ActivityContentDetailsBulletin;
/**
* The channelItem object contains details about a resource which was added to
* a channel. This property is only present if the snippet.type is
* channelItem.
*/
channelItem: Schema$ActivityContentDetailsChannelItem;
/**
* The comment object contains information about a resource that received a
* comment. This property is only present if the snippet.type is comment.
*/
comment: Schema$ActivityContentDetailsComment;
/**
* The favorite object contains information about a video that was marked as a
* favorite video. This property is only present if the snippet.type is
* favorite.
*/
favorite: Schema$ActivityContentDetailsFavorite;
/**
* The like object contains information about a resource that received a
* positive (like) rating. This property is only present if the snippet.type
* is like.
*/
like: Schema$ActivityContentDetailsLike;
/**
* The playlistItem object contains information about a new playlist item.
* This property is only present if the snippet.type is playlistItem.
*/
playlistItem: Schema$ActivityContentDetailsPlaylistItem;
/**
* The promotedItem object contains details about a resource which is being
* promoted. This property is only present if the snippet.type is
* promotedItem.
*/
promotedItem: Schema$ActivityContentDetailsPromotedItem;
/**
* The recommendation object contains information about a recommended
* resource. This property is only present if the snippet.type is
* recommendation.
*/
recommendation: Schema$ActivityContentDetailsRecommendation;
/**
* The social object contains details about a social network post. This
* property is only present if the snippet.type is social.
*/
social: Schema$ActivityContentDetailsSocial;
/**
* The subscription object contains information about a channel that a user
* subscribed to. This property is only present if the snippet.type is
* subscription.
*/
subscription: Schema$ActivityContentDetailsSubscription;
/**
* The upload object contains information about the uploaded video. This
* property is only present if the snippet.type is upload.
*/
upload: Schema$ActivityContentDetailsUpload;
}
/**
* Details about a channel bulletin post.
*/
export interface Schema$ActivityContentDetailsBulletin {
/**
* The resourceId object contains information that identifies the resource
* associated with a bulletin post.
*/
resourceId: Schema$ResourceId;
}
/**
* Details about a resource which was added to a channel.
*/
export interface Schema$ActivityContentDetailsChannelItem {
/**
* The resourceId object contains information that identifies the resource
* that was added to the channel.
*/
resourceId: Schema$ResourceId;
}
/**
* Information about a resource that received a comment.
*/
export interface Schema$ActivityContentDetailsComment {
/**
* The resourceId object contains information that identifies the resource
* associated with the comment.
*/
resourceId: Schema$ResourceId;
}
/**
* Information about a video that was marked as a favorite video.
*/
export interface Schema$ActivityContentDetailsFavorite {
/**
* The resourceId object contains information that identifies the resource
* that was marked as a favorite.
*/
resourceId: Schema$ResourceId;
}
/**
* Information about a resource that received a positive (like) rating.
*/
export interface Schema$ActivityContentDetailsLike {
/**
* The resourceId object contains information that identifies the rated
* resource.
*/
resourceId: Schema$ResourceId;
}
/**
* Information about a new playlist item.
*/
export interface Schema$ActivityContentDetailsPlaylistItem {
/**
* The value that YouTube uses to uniquely identify the playlist.
*/
playlistId: string;
/**
* ID of the item within the playlist.
*/
playlistItemId: string;
/**
* The resourceId object contains information about the resource that was
* added to the playlist.
*/
resourceId: Schema$ResourceId;
}
/**
* Details about a resource which is being promoted.
*/
export interface Schema$ActivityContentDetailsPromotedItem {
/**
* The URL the client should fetch to request a promoted item.
*/
adTag: string;
/**
* The URL the client should ping to indicate that the user clicked through on
* this promoted item.
*/
clickTrackingUrl: string;
/**
* The URL the client should ping to indicate that the user was shown this
* promoted item.
*/
creativeViewUrl: string;
/**
* The type of call-to-action, a message to the user indicating action that
* can be taken.
*/
ctaType: string;
/**
* The custom call-to-action button text. If specified, it will override the
* default button text for the cta_type.
*/
customCtaButtonText: string;
/**
* The text description to accompany the promoted item.
*/
descriptionText: string;
/**
* The URL the client should direct the user to, if the user chooses to visit
* the advertiser's website.
*/
destinationUrl: string;
/**
* 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.
*/
forecastingUrl: string[];
/**
* The list of impression URLs. The client should ping all of these URLs to
* indicate that the user was shown this promoted item.
*/
impressionUrl: string[];
/**
* The ID that YouTube uses to uniquely identify the promoted video.
*/
videoId: string;
}
/**
* Information that identifies the recommended resource.
*/
export interface Schema$ActivityContentDetailsRecommendation {
/**
* The reason that the resource is recommended to the user.
*/
reason: string;
/**
* The resourceId object contains information that identifies the recommended
* resource.
*/
resourceId: Schema$ResourceId;
/**
* The seedResourceId object contains information about the resource that
* caused the recommendation.
*/
seedResourceId: Schema$ResourceId;
}
/**
* Details about a social network post.
*/
export interface Schema$ActivityContentDetailsSocial {
/**
* The author of the social network post.
*/
author: string;
/**
* An image of the post's author.
*/
imageUrl: string;
/**
* The URL of the social network post.
*/
referenceUrl: string;
/**
* The resourceId object encapsulates information that identifies the resource
* associated with a social network post.
*/
resourceId: Schema$ResourceId;
/**
* The name of the social network.
*/
type: string;
}
/**
* Information about a channel that a user subscribed to.
*/
export interface Schema$ActivityContentDetailsSubscription {
/**
* The resourceId object contains information that identifies the resource
* that the user subscribed to.
*/
resourceId: Schema$ResourceId;
}
/**
* Information about the uploaded video.
*/
export interface Schema$ActivityContentDetailsUpload {
/**
* The ID that YouTube uses to uniquely identify the uploaded video.
*/
videoId: string;
}
export interface Schema$ActivityListResponse {
/**
* Etag of this resource.
*/
etag: string;
/**
* Serialized EventId of the request which produced this response.
*/
eventId: string;
/**
* A list of activities, or events, that match the request criteria.
*/
items: Schema$Activity[];
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#activityListResponse".
*/
kind: string;
/**
* The token that can be used as the value of the pageToken parameter to
* retrieve the next page in the result set.
*/
nextPageToken: string;
pageInfo: Schema$PageInfo;
/**
* The token that can be used as the value of the pageToken parameter to
* retrieve the previous page in the result set.
*/
prevPageToken: string;
tokenPagination: Schema$TokenPagination;
/**
* The visitorId identifies the visitor.
*/
visitorId: string;
}
/**
* Basic details about an activity, including title, description, thumbnails,
* activity type and group.
*/
export interface Schema$ActivitySnippet {
/**
* The ID that YouTube uses to uniquely identify the channel associated with
* the activity.
*/
channelId: string;
/**
* Channel title for the channel responsible for this activity
*/
channelTitle: string;
/**
* The description of the resource primarily associated with the activity.
*/
description: string;
/**
* 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.
*/
groupId: string;
/**
* The date and time that the video was uploaded. The value is specified in
* ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
*/
publishedAt: string;
/**
* A map of thumbnail images associated with the resource that is primarily
* associated with the activity. For each object in the map, the key is the
* name of the thumbnail image, and the value is an object that contains other
* information about the thumbnail.
*/
thumbnails: Schema$ThumbnailDetails;
/**
* The title of the resource primarily associated with the activity.
*/
title: string;
/**
* The type of activity that the resource describes.
*/
type: string;
}
/**
* A caption resource represents a YouTube caption track. A caption track is
* associated with exactly one YouTube video.
*/
export interface Schema$Caption {
/**
* Etag of this resource.
*/
etag: string;
/**
* The ID that YouTube uses to uniquely identify the caption track.
*/
id: string;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#caption".
*/
kind: string;
/**
* The snippet object contains basic details about the caption.
*/
snippet: Schema$CaptionSnippet;
}
export interface Schema$CaptionListResponse {
/**
* Etag of this resource.
*/
etag: string;
/**
* Serialized EventId of the request which produced this response.
*/
eventId: string;
/**
* A list of captions that match the request criteria.
*/
items: Schema$Caption[];
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#captionListResponse".
*/
kind: string;
/**
* The visitorId identifies the visitor.
*/
visitorId: string;
}
/**
* Basic details about a caption track, such as its language and name.
*/
export interface Schema$CaptionSnippet {
/**
* The type of audio track associated with the caption track.
*/
audioTrackType: string;
/**
* The reason that YouTube failed to process the caption track. This property
* is only present if the state property's value is failed.
*/
failureReason: string;
/**
* 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.
*/
isAutoSynced: boolean;
/**
* Indicates whether the track contains closed captions for the deaf and hard
* of hearing. The default value is false.
*/
isCC: boolean;
/**
* 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.
*/
isDraft: boolean;
/**
* 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.
*/
isEasyReader: boolean;
/**
* Indicates whether the caption track uses large text for the
* vision-impaired. The default value is false.
*/
isLarge: boolean;
/**
* The language of the caption track. The property value is a BCP-47 language
* tag.
*/
language: string;
/**
* 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.
*/
lastUpdated: string;
/**
* The name of the caption track. The name is intended to be visible to the
* user as an option during playback.
*/
name: string;
/**
* The caption track's status.
*/
status: string;
/**
* The caption track's type.
*/
trackKind: string;
/**
* The ID that YouTube uses to uniquely identify the video associated with the
* caption track.
*/
videoId: string;
}
/**
* Brief description of the live stream cdn settings.
*/
export interface Schema$CdnSettings {
/**
* The format of the video stream that you are sending to Youtube.
*/
format: string;
/**
* The frame rate of the inbound video data.
*/
frameRate: string;
/**
* The ingestionInfo object contains information that YouTube provides that
* you need to transmit your RTMP or HTTP stream to YouTube.
*/
ingestionInfo: Schema$IngestionInfo;
/**
* The method or protocol used to transmit the video stream.
*/
ingestionType: string;
/**
* The resolution of the inbound video data.
*/
resolution: string;
}
/**
* A channel resource contains information about a YouTube channel.
*/
export interface Schema$Channel {
/**
* The auditionDetails object encapsulates channel data that is relevant for
* YouTube Partners during the audition process.
*/
auditDetails: Schema$ChannelAuditDetails;
/**
* The brandingSettings object encapsulates information about the branding of
* the channel.
*/
brandingSettings: Schema$ChannelBrandingSettings;
/**
* The contentDetails object encapsulates information about the channel's
* content.
*/
contentDetails: Schema$ChannelContentDetails;
/**
* The contentOwnerDetails object encapsulates channel data that is relevant
* for YouTube Partners linked with the channel.
*/
contentOwnerDetails: Schema$ChannelContentOwnerDetails;
/**
* The conversionPings object encapsulates information about conversion pings
* that need to be respected by the channel.
*/
conversionPings: Schema$ChannelConversionPings;
/**
* Etag of this resource.
*/
etag: string;
/**
* The ID that YouTube uses to uniquely identify the channel.
*/
id: string;
/**
* The invideoPromotion object encapsulates information about promotion
* campaign associated with the channel.
*/
invideoPromotion: Schema$InvideoPromotion;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#channel".
*/
kind: string;
/**
* Localizations for different languages
*/
localizations: any;
/**
* The snippet object contains basic details about the channel, such as its
* title, description, and thumbnail images.
*/
snippet: Schema$ChannelSnippet;
/**
* The statistics object encapsulates statistics for the channel.
*/
statistics: Schema$ChannelStatistics;
/**
* The status object encapsulates information about the privacy status of the
* channel.
*/
status: Schema$ChannelStatus;
/**
* The topicDetails object encapsulates information about Freebase topics
* associated with the channel.
*/
topicDetails: Schema$ChannelTopicDetails;
}
/**
* The auditDetails object encapsulates channel data that is relevant for
* YouTube Partners during the audit process.
*/
export interface Schema$ChannelAuditDetails {
/**
* Whether or not the channel respects the community guidelines.
*/
communityGuidelinesGoodStanding: boolean;
/**
* Whether or not the channel has any unresolved claims.
*/
contentIdClaimsGoodStanding: boolean;
/**
* Whether or not the channel has any copyright strikes.
*/
copyrightStrikesGoodStanding: boolean;
/**
* 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.
*/
overallGoodStanding: boolean;
}
/**
* A channel banner returned as the response to a channel_banner.insert call.
*/
export interface Schema$ChannelBannerResource {
/**
* Etag of this resource.
*/
etag: string;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#channelBannerResource".
*/
kind: string;
/**
* The URL of this banner image.
*/
url: string;
}
/**
* Branding properties of a YouTube channel.
*/
export interface Schema$ChannelBrandingSettings {
/**
* Branding properties for the channel view.
*/
channel: Schema$ChannelSettings;
/**
* Additional experimental branding properties.
*/
hints: Schema$PropertyValue[];
/**
* Branding properties for branding images.
*/
image: Schema$ImageSettings;
/**
* Branding properties for the watch page.
*/
watch: Schema$WatchSettings;
}
/**
* Details about the content of a channel.
*/
export interface Schema$ChannelContentDetails {
relatedPlaylists: any;
}
/**
* The contentOwnerDetails object encapsulates channel data that is relevant for
* YouTube Partners linked with the channel.
*/
export interface Schema$ChannelContentOwnerDetails {
/**
* The ID of the content owner linked to the channel.
*/
contentOwner: string;
/**
* 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.
*/
timeLinked: string;
}
/**
* 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.
*/
export interface Schema$ChannelConversionPing {
/**
* Defines the context of the ping.
*/
context: string;
/**
* 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.
*/
conversionUrl: string;
}
/**
* The conversionPings object encapsulates information about conversion pings
* that need to be respected by the channel.
*/
export interface Schema$ChannelConversionPings {
/**
* 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.
*/
pings: Schema$ChannelConversionPing[];
}
export interface Schema$ChannelListResponse {
/**
* Etag of this resource.
*/
etag: string;
/**
* Serialized EventId of the request which produced this response.
*/
eventId: string;
/**
* A list of channels that match the request criteria.
*/
items: Schema$Channel[];
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#channelListResponse".
*/
kind: string;
/**
* The token that can be used as the value of the pageToken parameter to
* retrieve the next page in the result set.
*/
nextPageToken: string;
pageInfo: Schema$PageInfo;
/**
* The token that can be used as the value of the pageToken parameter to
* retrieve the previous page in the result set.
*/
prevPageToken: string;
tokenPagination: Schema$TokenPagination;
/**
* The visitorId identifies the visitor.
*/
visitorId: string;
}
/**
* Channel localization setting
*/
export interface Schema$ChannelLocalization {
/**
* The localized strings for channel's description.
*/
description: string;
/**
* The localized strings for channel's title.
*/
title: string;
}
export interface Schema$ChannelProfileDetails {
/**
* The YouTube channel ID.
*/
channelId: string;
/**
* The channel's URL.
*/
channelUrl: string;
/**
* The channel's display name.
*/
displayName: string;
/**
* The channels's avatar URL.
*/
profileImageUrl: string;
}
export interface Schema$ChannelSection {
/**
* The contentDetails object contains details about the channel section
* content, such as a list of playlists or channels featured in the section.
*/
contentDetails: Schema$ChannelSectionContentDetails;
/**
* Etag of this resource.
*/
etag: string;
/**
* The ID that YouTube uses to uniquely identify the channel section.
*/
id: string;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#channelSection".
*/
kind: string;
/**
* Localizations for different languages
*/
localizations: any;
/**
* The snippet object contains basic details about the channel section, such
* as its type, style and title.
*/
snippet: Schema$ChannelSectionSnippet;
/**
* The targeting object contains basic targeting settings about the channel
* section.
*/
targeting: Schema$ChannelSectionTargeting;
}
/**
* Details about a channelsection, including playlists and channels.
*/
export interface Schema$ChannelSectionContentDetails {
/**
* The channel ids for type multiple_channels.
*/
channels: string[];
/**
* The playlist ids for type single_playlist and multiple_playlists. For
* singlePlaylist, only one playlistId is allowed.
*/
playlists: string[];
}
export interface Schema$ChannelSectionListResponse {
/**
* Etag of this resource.
*/
etag: string;
/**
* Serialized EventId of the request which produced this response.
*/
eventId: string;
/**
* A list of ChannelSections that match the request criteria.
*/
items: Schema$ChannelSection[];
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#channelSectionListResponse".
*/
kind: string;
/**
* The visitorId identifies the visitor.
*/
visitorId: string;
}
/**
* ChannelSection localization setting
*/
export interface Schema$ChannelSectionLocalization {
/**
* The localized strings for channel section's title.
*/
title: string;
}
/**
* Basic details about a channel section, including title, style and position.
*/
export interface Schema$ChannelSectionSnippet {
/**
* The ID that YouTube uses to uniquely identify the channel that published
* the channel section.
*/
channelId: string;
/**
* The language of the channel section's default title and description.
*/
defaultLanguage: string;
/**
* Localized title, read-only.
*/
localized: Schema$ChannelSectionLocalization;
/**
* The position of the channel section in the channel.
*/
position: number;
/**
* The style of the channel section.
*/
style: string;
/**
* The channel section's title for multiple_playlists and
* multiple_channels.
*/
title: string;
/**
* The type of the channel section.
*/
type: string;
}
/**
* ChannelSection targeting setting.
*/
export interface Schema$ChannelSectionTargeting {
/**
* The country the channel section is targeting.
*/
countries: string[];
/**
* The language the channel section is targeting.
*/
languages: string[];
/**
* The region the channel section is targeting.
*/
regions: string[];
}
/**
* Branding properties for the channel view.
*/
export interface Schema$ChannelSettings {
/**
* The country of the channel.
*/
country: string;
defaultLanguage: string;
/**
* Which content tab users should see when viewing the channel.
*/
defaultTab: string;
/**
* Specifies the channel description.
*/
description: string;
/**
* Title for the featured channels tab.
*/
featuredChannelsTitle: string;
/**
* The list of featured channels.
*/
featuredChannelsUrls: string[];
/**
* Lists keywords associated with the channel, comma-separated.
*/
keywords: string;
/**
* Whether user-submitted comments left on the channel page need to be
* approved by the channel owner to be publicly visible.
*/
moderateComments: boolean;
/**
* A prominent color that can be rendered on this channel page.
*/
profileColor: string;
/**
* Whether the tab to browse the videos should be displayed.
*/
showBrowseView: boolean;
/**
* Whether related channels should be proposed.
*/
showRelatedChannels: boolean;
/**
* Specifies the channel title.
*/
title: string;
/**
* The ID for a Google Analytics account to track and measure traffic to the
* channels.
*/
trackingAnalyticsAccountId: string;
/**
* The trailer of the channel, for users that are not subscribers.
*/
unsubscribedTrailer: string;
}
/**
* Basic details about a channel, including title, description and thumbnails.
*/
export interface Schema$ChannelSnippet {
/**
* The country of the channel.
*/
country: string;
/**
* The custom url of the channel.
*/
customUrl: string;
/**
* The language of the channel's default title and description.
*/
defaultLanguage: string;
/**
* The description of the channel.
*/
description: string;
/**
* Localized title and description, read-only.
*/
localized: Schema$ChannelLocalization;
/**
* The date and time that the channel was created. The value is specified in
* ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
*/
publishedAt: string;
/**
* A map of thumbnail images associated with the channel. For each object in
* the map, the key is the name of the thumbnail image, and the value is an
* object that contains other information about the thumbnail.
*/
thumbnails: Schema$ThumbnailDetails;
/**
* The channel's title.
*/
title: string;
}
/**
* Statistics about a channel: number of subscribers, number of videos in the
* channel, etc.
*/
export interface Schema$ChannelStatistics {
/**
* The number of comments for the channel.
*/
commentCount: string;
/**
* Whether or not the number of subscribers is shown for this user.
*/
hiddenSubscriberCount: boolean;
/**
* The number of subscribers that the channel has.
*/
subscriberCount: string;
/**
* The number of videos uploaded to the channel.
*/
videoCount: string;
/**
* The number of times the channel has been viewed.
*/
viewCount: string;
}
/**
* JSON template for the status part of a channel.
*/
export interface Schema$ChannelStatus {
/**
* 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.
*/
isLinked: boolean;
/**
* The long uploads status of this channel. See
*/
longUploadsStatus: string;
/**
* Privacy status of the channel.
*/
privacyStatus: string;
}
/**
* Freebase topic information related to the channel.
*/
export interface Schema$ChannelTopicDetails {
/**
* A list of Wikipedia URLs that describe the channel's content.
*/
topicCategories: string[];
/**
* A list of Freebase topic IDs associated with the channel. You can retrieve
* information about each topic using the Freebase Topic API.
*/
topicIds: string[];
}
/**
* A comment represents a single YouTube comment.
*/
export interface Schema$Comment {
/**
* Etag of this resource.
*/
etag: string;
/**
* The ID that YouTube uses to uniquely identify the comment.
*/
id: string;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#comment".
*/
kind: string;
/**
* The snippet object contains basic details about the comment.
*/
snippet: Schema$CommentSnippet;
}
export interface Schema$CommentListResponse {
/**
* Etag of this resource.
*/
etag: string;
/**
* Serialized EventId of the request which produced this response.
*/
eventId: string;
/**
* A list of comments that match the request criteria.
*/
items: Schema$Comment[];
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#commentListResponse".
*/
kind: string;
/**
* The token that can be used as the value of the pageToken parameter to
* retrieve the next page in the result set.
*/
nextPageToken: string;
pageInfo: Schema$PageInfo;
tokenPagination: Schema$TokenPagination;
/**
* The visitorId identifies the visitor.
*/
visitorId: string;
}
/**
* Basic details about a comment, such as its author and text.
*/
export interface Schema$CommentSnippet {
/**
* The id of the author's YouTube channel, if any.
*/
authorChannelId: any;
/**
* Link to the author's YouTube channel, if any.
*/
authorChannelUrl: string;
/**
* The name of the user who posted the comment.
*/
authorDisplayName: string;
/**
* The URL for the avatar of the user who posted the comment.
*/
authorProfileImageUrl: string;
/**
* Whether the current viewer can rate this comment.
*/
canRate: boolean;
/**
* 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.
*/
channelId: string;
/**
* The total number of likes this comment has received.
*/
likeCount: number;
/**
* The comment's moderation status. Will not be set if the comments were
* requested through the id filter.
*/
moderationStatus: string;
/**
* The unique id of the parent comment, only set for replies.
*/
parentId: string;
/**
* The date and time when the comment was orignally published. The value is
* specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
*/
publishedAt: string;
/**
* 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.
*/
textDisplay: string;
/**
* 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.
*/
textOriginal: string;
/**
* The date and time when was last updated . The value is specified in ISO
* 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
*/
updatedAt: string;
/**
* The ID of the video the comment refers to, if any.
*/
videoId: string;
/**
* 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.
*/
viewerRating: string;
}
/**
* 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.
*/
export interface Schema$CommentThread {
/**
* Etag of this resource.
*/
etag: string;
/**
* The ID that YouTube uses to uniquely identify the comment thread.
*/
id: string;
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#commentThread".
*/
kind: string;
/**
* The replies object contains a limited number of replies (if any) to the top
* level comment found in the snippet.
*/
replies: Schema$CommentThreadReplies;
/**
* The snippet object contains basic details about the comment thread and also
* the top level comment.
*/
snippet: Schema$CommentThreadSnippet;
}
export interface Schema$CommentThreadListResponse {
/**
* Etag of this resource.
*/
etag: string;
/**
* Serialized EventId of the request which produced this response.
*/
eventId: string;
/**
* A list of comment threads that match the request criteria.
*/
items: Schema$CommentThread[];
/**
* Identifies what kind of resource this is. Value: the fixed string
* "youtube#commentThreadListResponse".
*/
kind: string;
/**
* The token that can be used as the value of the pageToken parameter to
* retrieve the next page in the result set.
*/
nextPageToken: string;
pageInfo: Schema$PageInfo;
tokenPagination: Schema$TokenPagination;
/**
* The visitorId identifies the visitor.
*/
visitorId: string;
}
/**
* Comments written in (direct or indirect) reply to the top level comment.
*/
export interface Schema$CommentThreadReplies {
/**
* 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.
*/
comments: Schema$Comment[];
}
/**
* Basic details about a comment thread.
*/
export interface Schema$CommentThreadSnippet {
/**
* 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.
*/
canReply: boolean;
/**
* 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.
*/
channelId: string;
/**
* Whether the thread (and therefore all its comments) is visible to all
* YouTube users.
*/
isPublic: boolean;
/**
* The top level comment of this thread.
*/
topLevelComment: Schema$Comment;
/**
* The total number of replies (not including the top level comment).
*/
totalReplyCount: number;
/**
* The ID of the video the comments refer to, if any. No video_id implies a
* channel discussion comment.
*/
videoId: string;
}
/**
* Ratings schemes. The country-specific ratings are mostly for movies and
* shows. NEXT_ID: 71
*/
export interface Schema$ContentRating {
/**
* The video's Australian Classification Board (ACB) or Australian
* Communications and Media Authority (ACMA) rating. ACMA ratings are used to
* classify children's television programming.
*/
acbRating: string;
/**
* The video's rating from Italy's Autorità per le Garanzie nelle
* Comunicazioni (AGCOM).
*/
agcomRating: string;
/**
* The video's Anatel (Asociación Nacional de Televisión) rating for
* Chilean television.
*/
anatelRating: string;
/**
* The video's British Board of Film Classification (BBFC) rating.
*/
bbfcRating: string;
/**
* The video's rating from Thailand's Board of Film and Video Censors.
*/
bfvcRating: string;
/**
* The video's rating from the Austrian Board of Media Classification
* (Bundesministerium für Unterricht, Kunst und Kultur).
*/
bmukkRating: string;
/**
* The video's rating from the Canadian Radio-Television and
* Telecommunications Commission (CRTC) for Canadian French-language
* broadcasts. For more information, see the Canadian Broadcast Standards
* Council website.
*/
catvfrRating: string;
/**
* Rating system for Canadian TV - Canadian TV Classification System The
* video's rating from the Canadian Radio-Television and
* Telecommunications Commission (CRTC) for Canadian English-language
* broadcasts. For more information, see the Canadian Broadcast Standards
* Council website.
*/
catvRating: string;
/**
* The video's Central Board of Film Certification (CBFC - India) rating.
*/
cbfcRating: string;
/**
* The video's Consejo de Calificación Cinematográfica (Chile) rating.
*/
cccRating: string;
/**
* The video's rating from Portugal's Comissão de Classificação de
* Espect´culos.
*/
cceRating: string;
/**
* The video's rating in Switzerland.
*/
chfilmRating: string;
/**
* The video's Canadian Home Video Rating System (CHVRS) rating.
*/
chvrsRating: string;
/**
* The video's rating from the Commission de Contrôle des Films (Belgium).
*/
cicfRating: string;
/**
* The video's rating from Romania's CONSILIUL NATIONAL AL
* AUDIOVIZUALULUI (CNA).
*/
cnaRating: string;
/**
* Rating system in France - Commission de classification cinematographique
*/
cncRating: string;
/**
* The video's rating from France's Conseil supérieur de
* l?audiovisuel, which rates broadcast content.
*/
csaRating: string;
/**
* The video's rating from Luxembourg's Commission de surveillance de
* la classification des films (CSCF).
*/
cscfRating: string;
/**
* The video's rating in the Czech Republic.
*/
czfilmRating: string;
/**
* The video's Departamento de Justiça, Classificação, Qualificação e
* Títulos (DJCQT - Brazil) rating.
*/
djctqRating: string;
/**
* Reasons that explain why the video received its DJCQT (Brazil) rating.
*/
djctqRatingReasons: string[];
/**
* Rating system in Turkey - Evaluation and Classification Board of the
* Ministry of Culture and Tourism
*/
ecbmctRating: string;
/**
* The video's rating in Estonia.
*/
eefilmRating: string;
/**
* The video's rating in Egypt.
*/
egfilmRating: string;
/**
* The video's Eirin (映倫) rating. Eirin is the Japanese rating system.
*/
eirinRating: string;
/**
* The video's rating from Malaysia's Film Censorship Board.
*/
fcbmRating: string;
/**
* The video's rating from Hong Kong's Office for Film, Newspaper and
* Article Administration.
*/
fcoRating: string;
/**
* This property has been deprecated. Use the
* contentDetails.contentRating.cncRating instead.
*/
fmocRating: string;
/**
* The video's rating from South Africa's Film and Publication Board.
*/
fpbRating: string;
/**
* Reasons that explain why the video received its FPB (South Africa) rating.
*/
fpbRatingReasons: string[];
/**
* The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK -
* Germany) rating.
*/
fskRating: string;
/**
* The video's rating in Greece.
*/
grfilmRating: string;
/**
* The video's Instituto de la Cinematografía y de las Artes Audiovisuales
* (ICAA - Spain) rating.
*/
icaaRating: string;
/**
* The video's Irish Film Classification Office (IFCO - Ireland) rating.
* See the IFCO website for more information.
*/
ifcoRating: string;
/**
* The video's rating in Israel.
*/
ilfilmRating: string;
/**
* The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales -
* Argentina) rating.
*/
incaaRating: string;
/**
* The video's rating from the Kenya Film Classification Board.
*/
kfcbRating: string;
/**
* voor de Classificatie van Audiovisuele Media (Netherlands).
*/
kijkwijzerRating: string;
/**
* The video's Korea Media Rating Board (영상물등급위원회) rating. The
* KMRB rates videos in South Korea.
*/
kmrbRating: string;
/**
* The video's rating from Indonesia's Lembaga Sensor Film.
*/
lsfRating: string;
/**
* The video's rating from Malta's Film Age-Classification Board.
*/
mccaaRating: string;
/**
* The video's rating from the Danish Film Institute's (Det Danske
* Filminstitut) Media Council for Children and Young People.
*/
mccypRating: string;
/**
* The video's rating system for Vietnam - MCST
*/
mcstRating: string;
/**
* The video's rating from Singapore's Media Development Authority
* (MDA) and, specifically, it's Board of Film Censors (BFC).
*/
mdaRating: string;
/**
* The video's rating from Medietilsynet, the Norwegian Media Authority.
*/
medietilsynetRating: string;
/**
* The video's rating from Finland's Kansallinen Audiovisuaalinen
* Instituutti (National Audiovisual Institute).
*/
mekuRating: string;
/**
* The rating system for MENA countries, a clone of MPAA. It is needed to
*/
menaMpaaRating: string;
/**
* The video's rating from the Ministero dei Beni e delle Attività
* Culturali e del Turismo (Italy).
*/
mibacRating: string;
/**
* The video's Ministerio de Cultura (Colombia) rating.
*/
mocRating: string;
/**
* The video's rating from Taiwan's Ministry of Culture (文化部).
*/
moctwRating: string;
/**
* The video's Motion Picture Association of America (MPAA) rating.
*/
mpaaRating: string;
/**
* The rating system for trailer, DVD, and Ad in the US. See
* http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.
*/
mpaatRating: string;
/**
* The video's rating from the Movie and Television Review and
* Classification Board (Philippines).
*/
mtrcbRating: string;
/**
* The video's rating in Poland.
*/
nbcplRating: string;
/**
* The video's rating from the Maldives National Bureau of Classification.
*/
nbcRating: string;
/**
* The video's rating from the Bulgarian National Film Center.
*/
nfrcRating: string;
/**
* The video's rating from Nigeria's National Film and Video Censors
* Board.
*/
nfvcbRating: string;
/**
* The video's rating from the Nacionãlais Kino centrs (National Film
* Centre of Latvia).
*/
nkclvRating: string;
/**
* The video's Office of Film and Literature Classification (OFLC - New
* Zealand) rating.
*/
oflcRating: string;
/**
* The video's rating in Peru.
*/
pefilmRating: string;
/**
* The video's rating from the Hungarian Nemzeti Filmiroda, t