// Copyright 2019 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package youtube provides access to the YouTube Data API. // // For product documentation, see: https://developers.google.com/youtube/v3 // // Creating a client // // Usage example: // // import "google.golang.org/api/youtube/v3" // ... // ctx := context.Background() // youtubeService, err := youtube.NewService(ctx) // // In this example, Google Application Default Credentials are used for authentication. // // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // Other authentication options // // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: // // youtubeService, err := youtube.NewService(ctx, option.WithScopes(youtube.YoutubepartnerChannelAuditScope)) // // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: // // youtubeService, err := youtube.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // youtubeService, err := youtube.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package youtube // import "google.golang.org/api/youtube/v3" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" gensupport "google.golang.org/api/gensupport" googleapi "google.golang.org/api/googleapi" option "google.golang.org/api/option" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled const apiId = "youtube:v3" const apiName = "youtube" const apiVersion = "v3" const basePath = "https://www.googleapis.com/youtube/v3/" // OAuth2 scopes used by this API. const ( // Manage your YouTube account YoutubeScope = "https://www.googleapis.com/auth/youtube" // See, edit, and permanently delete your YouTube videos, ratings, // comments and captions YoutubeForceSslScope = "https://www.googleapis.com/auth/youtube.force-ssl" // View your YouTube account YoutubeReadonlyScope = "https://www.googleapis.com/auth/youtube.readonly" // Manage your YouTube videos YoutubeUploadScope = "https://www.googleapis.com/auth/youtube.upload" // View and manage your assets and associated content on YouTube YoutubepartnerScope = "https://www.googleapis.com/auth/youtubepartner" // View private information of your YouTube channel relevant during the // audit process with a YouTube partner YoutubepartnerChannelAuditScope = "https://www.googleapis.com/auth/youtubepartner-channel-audit" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := option.WithScopes( "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtube.readonly", "https://www.googleapis.com/auth/youtube.upload", "https://www.googleapis.com/auth/youtubepartner", "https://www.googleapis.com/auth/youtubepartner-channel-audit", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Activities = NewActivitiesService(s) s.Captions = NewCaptionsService(s) s.ChannelBanners = NewChannelBannersService(s) s.ChannelSections = NewChannelSectionsService(s) s.Channels = NewChannelsService(s) s.CommentThreads = NewCommentThreadsService(s) s.Comments = NewCommentsService(s) s.GuideCategories = NewGuideCategoriesService(s) s.I18nLanguages = NewI18nLanguagesService(s) s.I18nRegions = NewI18nRegionsService(s) s.LiveBroadcasts = NewLiveBroadcastsService(s) s.LiveChatBans = NewLiveChatBansService(s) s.LiveChatMessages = NewLiveChatMessagesService(s) s.LiveChatModerators = NewLiveChatModeratorsService(s) s.LiveStreams = NewLiveStreamsService(s) s.PlaylistItems = NewPlaylistItemsService(s) s.Playlists = NewPlaylistsService(s) s.Search = NewSearchService(s) s.Sponsors = NewSponsorsService(s) s.Subscriptions = NewSubscriptionsService(s) s.SuperChatEvents = NewSuperChatEventsService(s) s.Thumbnails = NewThumbnailsService(s) s.VideoAbuseReportReasons = NewVideoAbuseReportReasonsService(s) s.VideoCategories = NewVideoCategoriesService(s) s.Videos = NewVideosService(s) s.Watermarks = NewWatermarksService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Activities *ActivitiesService Captions *CaptionsService ChannelBanners *ChannelBannersService ChannelSections *ChannelSectionsService Channels *ChannelsService CommentThreads *CommentThreadsService Comments *CommentsService GuideCategories *GuideCategoriesService I18nLanguages *I18nLanguagesService I18nRegions *I18nRegionsService LiveBroadcasts *LiveBroadcastsService LiveChatBans *LiveChatBansService LiveChatMessages *LiveChatMessagesService LiveChatModerators *LiveChatModeratorsService LiveStreams *LiveStreamsService PlaylistItems *PlaylistItemsService Playlists *PlaylistsService Search *SearchService Sponsors *SponsorsService Subscriptions *SubscriptionsService SuperChatEvents *SuperChatEventsService Thumbnails *ThumbnailsService VideoAbuseReportReasons *VideoAbuseReportReasonsService VideoCategories *VideoCategoriesService Videos *VideosService Watermarks *WatermarksService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewActivitiesService(s *Service) *ActivitiesService { rs := &ActivitiesService{s: s} return rs } type ActivitiesService struct { s *Service } func NewCaptionsService(s *Service) *CaptionsService { rs := &CaptionsService{s: s} return rs } type CaptionsService struct { s *Service } func NewChannelBannersService(s *Service) *ChannelBannersService { rs := &ChannelBannersService{s: s} return rs } type ChannelBannersService struct { s *Service } func NewChannelSectionsService(s *Service) *ChannelSectionsService { rs := &ChannelSectionsService{s: s} return rs } type ChannelSectionsService struct { s *Service } func NewChannelsService(s *Service) *ChannelsService { rs := &ChannelsService{s: s} return rs } type ChannelsService struct { s *Service } func NewCommentThreadsService(s *Service) *CommentThreadsService { rs := &CommentThreadsService{s: s} return rs } type CommentThreadsService struct { s *Service } func NewCommentsService(s *Service) *CommentsService { rs := &CommentsService{s: s} return rs } type CommentsService struct { s *Service } func NewGuideCategoriesService(s *Service) *GuideCategoriesService { rs := &GuideCategoriesService{s: s} return rs } type GuideCategoriesService struct { s *Service } func NewI18nLanguagesService(s *Service) *I18nLanguagesService { rs := &I18nLanguagesService{s: s} return rs } type I18nLanguagesService struct { s *Service } func NewI18nRegionsService(s *Service) *I18nRegionsService { rs := &I18nRegionsService{s: s} return rs } type I18nRegionsService struct { s *Service } func NewLiveBroadcastsService(s *Service) *LiveBroadcastsService { rs := &LiveBroadcastsService{s: s} return rs } type LiveBroadcastsService struct { s *Service } func NewLiveChatBansService(s *Service) *LiveChatBansService { rs := &LiveChatBansService{s: s} return rs } type LiveChatBansService struct { s *Service } func NewLiveChatMessagesService(s *Service) *LiveChatMessagesService { rs := &LiveChatMessagesService{s: s} return rs } type LiveChatMessagesService struct { s *Service } func NewLiveChatModeratorsService(s *Service) *LiveChatModeratorsService { rs := &LiveChatModeratorsService{s: s} return rs } type LiveChatModeratorsService struct { s *Service } func NewLiveStreamsService(s *Service) *LiveStreamsService { rs := &LiveStreamsService{s: s} return rs } type LiveStreamsService struct { s *Service } func NewPlaylistItemsService(s *Service) *PlaylistItemsService { rs := &PlaylistItemsService{s: s} return rs } type PlaylistItemsService struct { s *Service } func NewPlaylistsService(s *Service) *PlaylistsService { rs := &PlaylistsService{s: s} return rs } type PlaylistsService struct { s *Service } func NewSearchService(s *Service) *SearchService { rs := &SearchService{s: s} return rs } type SearchService struct { s *Service } func NewSponsorsService(s *Service) *SponsorsService { rs := &SponsorsService{s: s} return rs } type SponsorsService struct { s *Service } func NewSubscriptionsService(s *Service) *SubscriptionsService { rs := &SubscriptionsService{s: s} return rs } type SubscriptionsService struct { s *Service } func NewSuperChatEventsService(s *Service) *SuperChatEventsService { rs := &SuperChatEventsService{s: s} return rs } type SuperChatEventsService struct { s *Service } func NewThumbnailsService(s *Service) *ThumbnailsService { rs := &ThumbnailsService{s: s} return rs } type ThumbnailsService struct { s *Service } func NewVideoAbuseReportReasonsService(s *Service) *VideoAbuseReportReasonsService { rs := &VideoAbuseReportReasonsService{s: s} return rs } type VideoAbuseReportReasonsService struct { s *Service } func NewVideoCategoriesService(s *Service) *VideoCategoriesService { rs := &VideoCategoriesService{s: s} return rs } type VideoCategoriesService struct { s *Service } func NewVideosService(s *Service) *VideosService { rs := &VideosService{s: s} return rs } type VideosService struct { s *Service } func NewWatermarksService(s *Service) *WatermarksService { rs := &WatermarksService{s: s} return rs } type WatermarksService struct { s *Service } // AccessPolicy: Rights management policy for YouTube resources. type AccessPolicy struct { // Allowed: The value of allowed indicates whether the access to the // policy is allowed or denied by default. Allowed bool `json:"allowed,omitempty"` // Exception: A list of region codes that identify countries where the // default policy do not apply. Exception []string `json:"exception,omitempty"` // ForceSendFields is a list of field names (e.g. "Allowed") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Allowed") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *AccessPolicy) MarshalJSON() ([]byte, error) { type NoMethod AccessPolicy raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Activity: 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. type Activity struct { // ContentDetails: 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 *ActivityContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the activity. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#activity". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the // activity, including the activity's type and group ID. Snippet *ActivitySnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *Activity) MarshalJSON() ([]byte, error) { type NoMethod Activity raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetails: Details about the content of an activity: the // video that was shared, the channel that was subscribed to, etc. type ActivityContentDetails struct { // Bulletin: The bulletin object contains details about a channel // bulletin post. This object is only present if the snippet.type is // bulletin. Bulletin *ActivityContentDetailsBulletin `json:"bulletin,omitempty"` // ChannelItem: 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 *ActivityContentDetailsChannelItem `json:"channelItem,omitempty"` // Comment: The comment object contains information about a resource // that received a comment. This property is only present if the // snippet.type is comment. Comment *ActivityContentDetailsComment `json:"comment,omitempty"` // Favorite: 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 *ActivityContentDetailsFavorite `json:"favorite,omitempty"` // Like: 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 *ActivityContentDetailsLike `json:"like,omitempty"` // PlaylistItem: The playlistItem object contains information about a // new playlist item. This property is only present if the snippet.type // is playlistItem. PlaylistItem *ActivityContentDetailsPlaylistItem `json:"playlistItem,omitempty"` // PromotedItem: The promotedItem object contains details about a // resource which is being promoted. This property is only present if // the snippet.type is promotedItem. PromotedItem *ActivityContentDetailsPromotedItem `json:"promotedItem,omitempty"` // Recommendation: The recommendation object contains information about // a recommended resource. This property is only present if the // snippet.type is recommendation. Recommendation *ActivityContentDetailsRecommendation `json:"recommendation,omitempty"` // Social: The social object contains details about a social network // post. This property is only present if the snippet.type is social. Social *ActivityContentDetailsSocial `json:"social,omitempty"` // Subscription: 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 *ActivityContentDetailsSubscription `json:"subscription,omitempty"` // Upload: The upload object contains information about the uploaded // video. This property is only present if the snippet.type is upload. Upload *ActivityContentDetailsUpload `json:"upload,omitempty"` // ForceSendFields is a list of field names (e.g. "Bulletin") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Bulletin") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsBulletin: Details about a channel bulletin // post. type ActivityContentDetailsBulletin struct { // ResourceId: The resourceId object contains information that // identifies the resource associated with a bulletin post. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsBulletin) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsBulletin raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsChannelItem: Details about a resource which was // added to a channel. type ActivityContentDetailsChannelItem struct { // ResourceId: The resourceId object contains information that // identifies the resource that was added to the channel. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsChannelItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsChannelItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsComment: Information about a resource that // received a comment. type ActivityContentDetailsComment struct { // ResourceId: The resourceId object contains information that // identifies the resource associated with the comment. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsComment) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsComment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsFavorite: Information about a video that was // marked as a favorite video. type ActivityContentDetailsFavorite struct { // ResourceId: The resourceId object contains information that // identifies the resource that was marked as a favorite. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsFavorite) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsFavorite raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsLike: Information about a resource that // received a positive (like) rating. type ActivityContentDetailsLike struct { // ResourceId: The resourceId object contains information that // identifies the rated resource. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsLike) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsLike raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsPlaylistItem: Information about a new playlist // item. type ActivityContentDetailsPlaylistItem struct { // PlaylistId: The value that YouTube uses to uniquely identify the // playlist. PlaylistId string `json:"playlistId,omitempty"` // PlaylistItemId: ID of the item within the playlist. PlaylistItemId string `json:"playlistItemId,omitempty"` // ResourceId: The resourceId object contains information about the // resource that was added to the playlist. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "PlaylistId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlaylistId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsPlaylistItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsPlaylistItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsPromotedItem: Details about a resource which is // being promoted. type ActivityContentDetailsPromotedItem struct { // AdTag: The URL the client should fetch to request a promoted item. AdTag string `json:"adTag,omitempty"` // ClickTrackingUrl: The URL the client should ping to indicate that the // user clicked through on this promoted item. ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"` // CreativeViewUrl: The URL the client should ping to indicate that the // user was shown this promoted item. CreativeViewUrl string `json:"creativeViewUrl,omitempty"` // CtaType: The type of call-to-action, a message to the user indicating // action that can be taken. // // Possible values: // "unspecified" // "visitAdvertiserSite" CtaType string `json:"ctaType,omitempty"` // CustomCtaButtonText: The custom call-to-action button text. If // specified, it will override the default button text for the cta_type. CustomCtaButtonText string `json:"customCtaButtonText,omitempty"` // DescriptionText: The text description to accompany the promoted item. DescriptionText string `json:"descriptionText,omitempty"` // DestinationUrl: The URL the client should direct the user to, if the // user chooses to visit the advertiser's website. DestinationUrl string `json:"destinationUrl,omitempty"` // ForecastingUrl: 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 `json:"forecastingUrl,omitempty"` // ImpressionUrl: 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 `json:"impressionUrl,omitempty"` // VideoId: The ID that YouTube uses to uniquely identify the promoted // video. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "AdTag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdTag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsPromotedItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsPromotedItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsRecommendation: Information that identifies the // recommended resource. type ActivityContentDetailsRecommendation struct { // Reason: The reason that the resource is recommended to the user. // // Possible values: // "unspecified" // "videoFavorited" // "videoLiked" // "videoWatched" Reason string `json:"reason,omitempty"` // ResourceId: The resourceId object contains information that // identifies the recommended resource. ResourceId *ResourceId `json:"resourceId,omitempty"` // SeedResourceId: The seedResourceId object contains information about // the resource that caused the recommendation. SeedResourceId *ResourceId `json:"seedResourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "Reason") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Reason") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsRecommendation) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsRecommendation raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsSocial: Details about a social network post. type ActivityContentDetailsSocial struct { // Author: The author of the social network post. Author string `json:"author,omitempty"` // ImageUrl: An image of the post's author. ImageUrl string `json:"imageUrl,omitempty"` // ReferenceUrl: The URL of the social network post. ReferenceUrl string `json:"referenceUrl,omitempty"` // ResourceId: The resourceId object encapsulates information that // identifies the resource associated with a social network post. ResourceId *ResourceId `json:"resourceId,omitempty"` // Type: The name of the social network. // // Possible values: // "facebook" // "googlePlus" // "twitter" // "unspecified" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Author") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Author") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsSocial) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsSocial raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsSubscription: Information about a channel that // a user subscribed to. type ActivityContentDetailsSubscription struct { // ResourceId: The resourceId object contains information that // identifies the resource that the user subscribed to. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsSubscription) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsSubscription raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsUpload: Information about the uploaded video. type ActivityContentDetailsUpload struct { // VideoId: The ID that YouTube uses to uniquely identify the uploaded // video. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "VideoId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "VideoId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsUpload) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsUpload raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ActivityListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of activities, or events, that match the request // criteria. Items []*Activity `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#activityListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityListResponse) MarshalJSON() ([]byte, error) { type NoMethod ActivityListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivitySnippet: Basic details about an activity, including title, // description, thumbnails, activity type and group. type ActivitySnippet struct { // ChannelId: The ID that YouTube uses to uniquely identify the channel // associated with the activity. ChannelId string `json:"channelId,omitempty"` // ChannelTitle: Channel title for the channel responsible for this // activity ChannelTitle string `json:"channelTitle,omitempty"` // Description: The description of the resource primarily associated // with the activity. Description string `json:"description,omitempty"` // GroupId: 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 `json:"groupId,omitempty"` // PublishedAt: 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 `json:"publishedAt,omitempty"` // Thumbnails: 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 *ThumbnailDetails `json:"thumbnails,omitempty"` // Title: The title of the resource primarily associated with the // activity. Title string `json:"title,omitempty"` // Type: The type of activity that the resource describes. // // Possible values: // "bulletin" // "channelItem" // "comment" // "favorite" // "like" // "playlistItem" // "promotedItem" // "recommendation" // "social" // "subscription" // "upload" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivitySnippet) MarshalJSON() ([]byte, error) { type NoMethod ActivitySnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Caption: A caption resource represents a YouTube caption track. A // caption track is associated with exactly one YouTube video. type Caption struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the caption track. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#caption". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the caption. Snippet *CaptionSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Caption) MarshalJSON() ([]byte, error) { type NoMethod Caption raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type CaptionListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of captions that match the request criteria. Items []*Caption `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#captionListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CaptionListResponse) MarshalJSON() ([]byte, error) { type NoMethod CaptionListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CaptionSnippet: Basic details about a caption track, such as its // language and name. type CaptionSnippet struct { // AudioTrackType: The type of audio track associated with the caption // track. // // Possible values: // "commentary" // "descriptive" // "primary" // "unknown" AudioTrackType string `json:"audioTrackType,omitempty"` // FailureReason: The reason that YouTube failed to process the caption // track. This property is only present if the state property's value is // failed. // // Possible values: // "processingFailed" // "unknownFormat" // "unsupportedFormat" FailureReason string `json:"failureReason,omitempty"` // IsAutoSynced: 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 bool `json:"isAutoSynced,omitempty"` // IsCC: Indicates whether the track contains closed captions for the // deaf and hard of hearing. The default value is false. IsCC bool `json:"isCC,omitempty"` // IsDraft: 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 bool `json:"isDraft,omitempty"` // IsEasyReader: 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 bool `json:"isEasyReader,omitempty"` // IsLarge: Indicates whether the caption track uses large text for the // vision-impaired. The default value is false. IsLarge bool `json:"isLarge,omitempty"` // Language: The language of the caption track. The property value is a // BCP-47 language tag. Language string `json:"language,omitempty"` // LastUpdated: 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 `json:"lastUpdated,omitempty"` // Name: The name of the caption track. The name is intended to be // visible to the user as an option during playback. Name string `json:"name,omitempty"` // Status: The caption track's status. // // Possible values: // "failed" // "serving" // "syncing" Status string `json:"status,omitempty"` // TrackKind: The caption track's type. // // Possible values: // "ASR" // "forced" // "standard" TrackKind string `json:"trackKind,omitempty"` // VideoId: The ID that YouTube uses to uniquely identify the video // associated with the caption track. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "AudioTrackType") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AudioTrackType") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *CaptionSnippet) MarshalJSON() ([]byte, error) { type NoMethod CaptionSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CdnSettings: Brief description of the live stream cdn settings. type CdnSettings struct { // Format: The format of the video stream that you are sending to // Youtube. Format string `json:"format,omitempty"` // FrameRate: The frame rate of the inbound video data. // // Possible values: // "30fps" // "60fps" // "variable" FrameRate string `json:"frameRate,omitempty"` // IngestionInfo: The ingestionInfo object contains information that // YouTube provides that you need to transmit your RTMP or HTTP stream // to YouTube. IngestionInfo *IngestionInfo `json:"ingestionInfo,omitempty"` // IngestionType: The method or protocol used to transmit the video // stream. // // Possible values: // "dash" // "http" // "rtmp" // "webrtc" IngestionType string `json:"ingestionType,omitempty"` // Resolution: The resolution of the inbound video data. // // Possible values: // "1080p" // "1440p" // "2160p" // "240p" // "360p" // "480p" // "720p" // "variable" Resolution string `json:"resolution,omitempty"` // ForceSendFields is a list of field names (e.g. "Format") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Format") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CdnSettings) MarshalJSON() ([]byte, error) { type NoMethod CdnSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Channel: A channel resource contains information about a YouTube // channel. type Channel struct { // AuditDetails: The auditionDetails object encapsulates channel data // that is relevant for YouTube Partners during the audition process. AuditDetails *ChannelAuditDetails `json:"auditDetails,omitempty"` // BrandingSettings: The brandingSettings object encapsulates // information about the branding of the channel. BrandingSettings *ChannelBrandingSettings `json:"brandingSettings,omitempty"` // ContentDetails: The contentDetails object encapsulates information // about the channel's content. ContentDetails *ChannelContentDetails `json:"contentDetails,omitempty"` // ContentOwnerDetails: The contentOwnerDetails object encapsulates // channel data that is relevant for YouTube Partners linked with the // channel. ContentOwnerDetails *ChannelContentOwnerDetails `json:"contentOwnerDetails,omitempty"` // ConversionPings: The conversionPings object encapsulates information // about conversion pings that need to be respected by the channel. ConversionPings *ChannelConversionPings `json:"conversionPings,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the channel. Id string `json:"id,omitempty"` // InvideoPromotion: The invideoPromotion object encapsulates // information about promotion campaign associated with the channel. InvideoPromotion *InvideoPromotion `json:"invideoPromotion,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channel". Kind string `json:"kind,omitempty"` // Localizations: Localizations for different languages Localizations map[string]ChannelLocalization `json:"localizations,omitempty"` // Snippet: The snippet object contains basic details about the channel, // such as its title, description, and thumbnail images. Snippet *ChannelSnippet `json:"snippet,omitempty"` // Statistics: The statistics object encapsulates statistics for the // channel. Statistics *ChannelStatistics `json:"statistics,omitempty"` // Status: The status object encapsulates information about the privacy // status of the channel. Status *ChannelStatus `json:"status,omitempty"` // TopicDetails: The topicDetails object encapsulates information about // Freebase topics associated with the channel. TopicDetails *ChannelTopicDetails `json:"topicDetails,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AuditDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuditDetails") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Channel) MarshalJSON() ([]byte, error) { type NoMethod Channel raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelAuditDetails: The auditDetails object encapsulates channel // data that is relevant for YouTube Partners during the audit process. type ChannelAuditDetails struct { // CommunityGuidelinesGoodStanding: Whether or not the channel respects // the community guidelines. CommunityGuidelinesGoodStanding bool `json:"communityGuidelinesGoodStanding,omitempty"` // ContentIdClaimsGoodStanding: Whether or not the channel has any // unresolved claims. ContentIdClaimsGoodStanding bool `json:"contentIdClaimsGoodStanding,omitempty"` // CopyrightStrikesGoodStanding: Whether or not the channel has any // copyright strikes. CopyrightStrikesGoodStanding bool `json:"copyrightStrikesGoodStanding,omitempty"` // ForceSendFields is a list of field names (e.g. // "CommunityGuidelinesGoodStanding") to unconditionally include in API // requests. By default, fields with empty values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "CommunityGuidelinesGoodStanding") to include in API requests with // the JSON null value. By default, fields with empty values are omitted // from API requests. However, any field with an empty value appearing // in NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelAuditDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelAuditDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelBannerResource: A channel banner returned as the response to a // channel_banner.insert call. type ChannelBannerResource struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channelBannerResource". Kind string `json:"kind,omitempty"` // Url: The URL of this banner image. Url string `json:"url,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelBannerResource) MarshalJSON() ([]byte, error) { type NoMethod ChannelBannerResource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelBrandingSettings: Branding properties of a YouTube channel. type ChannelBrandingSettings struct { // Channel: Branding properties for the channel view. Channel *ChannelSettings `json:"channel,omitempty"` // Hints: Additional experimental branding properties. Hints []*PropertyValue `json:"hints,omitempty"` // Image: Branding properties for branding images. Image *ImageSettings `json:"image,omitempty"` // Watch: Branding properties for the watch page. Watch *WatchSettings `json:"watch,omitempty"` // ForceSendFields is a list of field names (e.g. "Channel") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Channel") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelBrandingSettings) MarshalJSON() ([]byte, error) { type NoMethod ChannelBrandingSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelContentDetails: Details about the content of a channel. type ChannelContentDetails struct { RelatedPlaylists *ChannelContentDetailsRelatedPlaylists `json:"relatedPlaylists,omitempty"` // ForceSendFields is a list of field names (e.g. "RelatedPlaylists") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RelatedPlaylists") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ChannelContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelContentDetailsRelatedPlaylists struct { // Favorites: 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. Favorites string `json:"favorites,omitempty"` // Likes: 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. Likes string `json:"likes,omitempty"` // Uploads: 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. Uploads string `json:"uploads,omitempty"` // WatchHistory: 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. WatchHistory string `json:"watchHistory,omitempty"` // WatchLater: 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. WatchLater string `json:"watchLater,omitempty"` // ForceSendFields is a list of field names (e.g. "Favorites") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Favorites") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelContentDetailsRelatedPlaylists) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentDetailsRelatedPlaylists raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelContentOwnerDetails: The contentOwnerDetails object // encapsulates channel data that is relevant for YouTube Partners // linked with the channel. type ChannelContentOwnerDetails struct { // ContentOwner: The ID of the content owner linked to the channel. ContentOwner string `json:"contentOwner,omitempty"` // TimeLinked: 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 `json:"timeLinked,omitempty"` // ForceSendFields is a list of field names (e.g. "ContentOwner") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentOwner") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelContentOwnerDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentOwnerDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelConversionPing: 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. type ChannelConversionPing struct { // Context: Defines the context of the ping. // // Possible values: // "cview" // "subscribe" // "unsubscribe" Context string `json:"context,omitempty"` // ConversionUrl: 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 `json:"conversionUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "Context") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Context") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelConversionPing) MarshalJSON() ([]byte, error) { type NoMethod ChannelConversionPing raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelConversionPings: The conversionPings object encapsulates // information about conversion pings that need to be respected by the // channel. type ChannelConversionPings struct { // Pings: 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 []*ChannelConversionPing `json:"pings,omitempty"` // ForceSendFields is a list of field names (e.g. "Pings") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Pings") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelConversionPings) MarshalJSON() ([]byte, error) { type NoMethod ChannelConversionPings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of channels that match the request criteria. Items []*Channel `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channelListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelListResponse) MarshalJSON() ([]byte, error) { type NoMethod ChannelListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelLocalization: Channel localization setting type ChannelLocalization struct { // Description: The localized strings for channel's description. Description string `json:"description,omitempty"` // Title: The localized strings for channel's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelLocalization) MarshalJSON() ([]byte, error) { type NoMethod ChannelLocalization raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelProfileDetails struct { // ChannelId: The YouTube channel ID. ChannelId string `json:"channelId,omitempty"` // ChannelUrl: The channel's URL. ChannelUrl string `json:"channelUrl,omitempty"` // DisplayName: The channel's display name. DisplayName string `json:"displayName,omitempty"` // ProfileImageUrl: The channels's avatar URL. ProfileImageUrl string `json:"profileImageUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelProfileDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelProfileDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelSection struct { // ContentDetails: The contentDetails object contains details about the // channel section content, such as a list of playlists or channels // featured in the section. ContentDetails *ChannelSectionContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the channel // section. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channelSection". Kind string `json:"kind,omitempty"` // Localizations: Localizations for different languages Localizations map[string]ChannelSectionLocalization `json:"localizations,omitempty"` // Snippet: The snippet object contains basic details about the channel // section, such as its type, style and title. Snippet *ChannelSectionSnippet `json:"snippet,omitempty"` // Targeting: The targeting object contains basic targeting settings // about the channel section. Targeting *ChannelSectionTargeting `json:"targeting,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ChannelSection) MarshalJSON() ([]byte, error) { type NoMethod ChannelSection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionContentDetails: Details about a channelsection, // including playlists and channels. type ChannelSectionContentDetails struct { // Channels: The channel ids for type multiple_channels. Channels []string `json:"channels,omitempty"` // Playlists: The playlist ids for type single_playlist and // multiple_playlists. For singlePlaylist, only one playlistId is // allowed. Playlists []string `json:"playlists,omitempty"` // ForceSendFields is a list of field names (e.g. "Channels") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Channels") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelSectionListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of ChannelSections that match the request criteria. Items []*ChannelSection `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channelSectionListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionListResponse) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionLocalization: ChannelSection localization setting type ChannelSectionLocalization struct { // Title: The localized strings for channel section's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Title") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Title") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionLocalization) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionLocalization raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionSnippet: Basic details about a channel section, // including title, style and position. type ChannelSectionSnippet struct { // ChannelId: The ID that YouTube uses to uniquely identify the channel // that published the channel section. ChannelId string `json:"channelId,omitempty"` // DefaultLanguage: The language of the channel section's default title // and description. DefaultLanguage string `json:"defaultLanguage,omitempty"` // Localized: Localized title, read-only. Localized *ChannelSectionLocalization `json:"localized,omitempty"` // Position: The position of the channel section in the channel. Position *int64 `json:"position,omitempty"` // Style: The style of the channel section. // // Possible values: // "channelsectionStyleUndefined" // "horizontalRow" // "verticalList" Style string `json:"style,omitempty"` // Title: The channel section's title for multiple_playlists and // multiple_channels. Title string `json:"title,omitempty"` // Type: The type of the channel section. // // Possible values: // "allPlaylists" // "channelsectionTypeUndefined" // "completedEvents" // "likedPlaylists" // "likes" // "liveEvents" // "multipleChannels" // "multiplePlaylists" // "popularUploads" // "postedPlaylists" // "postedVideos" // "recentActivity" // "recentPosts" // "recentUploads" // "singlePlaylist" // "subscriptions" // "upcomingEvents" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionSnippet) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionTargeting: ChannelSection targeting setting. type ChannelSectionTargeting struct { // Countries: The country the channel section is targeting. Countries []string `json:"countries,omitempty"` // Languages: The language the channel section is targeting. Languages []string `json:"languages,omitempty"` // Regions: The region the channel section is targeting. Regions []string `json:"regions,omitempty"` // ForceSendFields is a list of field names (e.g. "Countries") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Countries") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionTargeting) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionTargeting raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSettings: Branding properties for the channel view. type ChannelSettings struct { // Country: The country of the channel. Country string `json:"country,omitempty"` DefaultLanguage string `json:"defaultLanguage,omitempty"` // DefaultTab: Which content tab users should see when viewing the // channel. DefaultTab string `json:"defaultTab,omitempty"` // Description: Specifies the channel description. Description string `json:"description,omitempty"` // FeaturedChannelsTitle: Title for the featured channels tab. FeaturedChannelsTitle string `json:"featuredChannelsTitle,omitempty"` // FeaturedChannelsUrls: The list of featured channels. FeaturedChannelsUrls []string `json:"featuredChannelsUrls,omitempty"` // Keywords: Lists keywords associated with the channel, // comma-separated. Keywords string `json:"keywords,omitempty"` // ModerateComments: Whether user-submitted comments left on the channel // page need to be approved by the channel owner to be publicly visible. ModerateComments bool `json:"moderateComments,omitempty"` // ProfileColor: A prominent color that can be rendered on this channel // page. ProfileColor string `json:"profileColor,omitempty"` // ShowBrowseView: Whether the tab to browse the videos should be // displayed. ShowBrowseView bool `json:"showBrowseView,omitempty"` // ShowRelatedChannels: Whether related channels should be proposed. ShowRelatedChannels bool `json:"showRelatedChannels,omitempty"` // Title: Specifies the channel title. Title string `json:"title,omitempty"` // TrackingAnalyticsAccountId: The ID for a Google Analytics account to // track and measure traffic to the channels. TrackingAnalyticsAccountId string `json:"trackingAnalyticsAccountId,omitempty"` // UnsubscribedTrailer: The trailer of the channel, for users that are // not subscribers. UnsubscribedTrailer string `json:"unsubscribedTrailer,omitempty"` // ForceSendFields is a list of field names (e.g. "Country") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Country") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSettings) MarshalJSON() ([]byte, error) { type NoMethod ChannelSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSnippet: Basic details about a channel, including title, // description and thumbnails. type ChannelSnippet struct { // Country: The country of the channel. Country string `json:"country,omitempty"` // CustomUrl: The custom url of the channel. CustomUrl string `json:"customUrl,omitempty"` // DefaultLanguage: The language of the channel's default title and // description. DefaultLanguage string `json:"defaultLanguage,omitempty"` // Description: The description of the channel. Description string `json:"description,omitempty"` // Localized: Localized title and description, read-only. Localized *ChannelLocalization `json:"localized,omitempty"` // PublishedAt: 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 `json:"publishedAt,omitempty"` // Thumbnails: 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. // // When displaying thumbnails in your application, make sure that your // code uses the image URLs exactly as they are returned in API // responses. For example, your application should not use the http // domain instead of the https domain in a URL returned in an API // response. // // Beginning in July 2018, channel thumbnail URLs will only be available // in the https domain, which is how the URLs appear in API responses. // After that time, you might see broken images in your application if // it tries to load YouTube images from the http domain. Thumbnails *ThumbnailDetails `json:"thumbnails,omitempty"` // Title: The channel's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Country") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Country") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSnippet) MarshalJSON() ([]byte, error) { type NoMethod ChannelSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelStatistics: Statistics about a channel: number of subscribers, // number of videos in the channel, etc. type ChannelStatistics struct { // CommentCount: The number of comments for the channel. CommentCount uint64 `json:"commentCount,omitempty,string"` // HiddenSubscriberCount: Whether or not the number of subscribers is // shown for this user. HiddenSubscriberCount bool `json:"hiddenSubscriberCount,omitempty"` // SubscriberCount: The number of subscribers that the channel has. SubscriberCount uint64 `json:"subscriberCount,omitempty,string"` // VideoCount: The number of videos uploaded to the channel. VideoCount uint64 `json:"videoCount,omitempty,string"` // ViewCount: The number of times the channel has been viewed. ViewCount uint64 `json:"viewCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CommentCount") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommentCount") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelStatistics) MarshalJSON() ([]byte, error) { type NoMethod ChannelStatistics raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelStatus: JSON template for the status part of a channel. type ChannelStatus struct { // IsLinked: 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 bool `json:"isLinked,omitempty"` // LongUploadsStatus: The long uploads status of this channel. See // // Possible values: // "allowed" // "disallowed" // "eligible" // "longUploadsUnspecified" LongUploadsStatus string `json:"longUploadsStatus,omitempty"` // PrivacyStatus: Privacy status of the channel. // // Possible values: // "private" // "public" // "unlisted" // "unlisted_new" PrivacyStatus string `json:"privacyStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "IsLinked") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IsLinked") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelStatus) MarshalJSON() ([]byte, error) { type NoMethod ChannelStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelTopicDetails: Freebase topic information related to the // channel. type ChannelTopicDetails struct { // TopicCategories: A list of Wikipedia URLs that describe the channel's // content. TopicCategories []string `json:"topicCategories,omitempty"` // TopicIds: A list of Freebase topic IDs associated with the channel. // You can retrieve information about each topic using the Freebase // Topic API. TopicIds []string `json:"topicIds,omitempty"` // ForceSendFields is a list of field names (e.g. "TopicCategories") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TopicCategories") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ChannelTopicDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelTopicDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Comment: A comment represents a single YouTube comment. type Comment struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the comment. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#comment". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the comment. Snippet *CommentSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Comment) MarshalJSON() ([]byte, error) { type NoMethod Comment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type CommentListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of comments that match the request criteria. Items []*Comment `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#commentListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentListResponse) MarshalJSON() ([]byte, error) { type NoMethod CommentListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentSnippet: Basic details about a comment, such as its author and // text. type CommentSnippet struct { // AuthorChannelId: The id of the author's YouTube channel, if any. AuthorChannelId interface{} `json:"authorChannelId,omitempty"` // AuthorChannelUrl: Link to the author's YouTube channel, if any. AuthorChannelUrl string `json:"authorChannelUrl,omitempty"` // AuthorDisplayName: The name of the user who posted the comment. AuthorDisplayName string `json:"authorDisplayName,omitempty"` // AuthorProfileImageUrl: The URL for the avatar of the user who posted // the comment. AuthorProfileImageUrl string `json:"authorProfileImageUrl,omitempty"` // CanRate: Whether the current viewer can rate this comment. CanRate bool `json:"canRate,omitempty"` // ChannelId: 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 `json:"channelId,omitempty"` // LikeCount: The total number of likes this comment has received. LikeCount int64 `json:"likeCount,omitempty"` // ModerationStatus: The comment's moderation status. Will not be set if // the comments were requested through the id filter. // // Possible values: // "heldForReview" // "likelySpam" // "published" // "rejected" ModerationStatus string `json:"moderationStatus,omitempty"` // ParentId: The unique id of the parent comment, only set for replies. ParentId string `json:"parentId,omitempty"` // PublishedAt: 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 `json:"publishedAt,omitempty"` // TextDisplay: 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 `json:"textDisplay,omitempty"` // TextOriginal: 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 `json:"textOriginal,omitempty"` // UpdatedAt: The date and time when was last updated . The value is // specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. UpdatedAt string `json:"updatedAt,omitempty"` // VideoId: The ID of the video the comment refers to, if any. VideoId string `json:"videoId,omitempty"` // ViewerRating: 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. // // Possible values: // "dislike" // "like" // "none" // "unspecified" ViewerRating string `json:"viewerRating,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorChannelId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *CommentSnippet) MarshalJSON() ([]byte, error) { type NoMethod CommentSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentThread: 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. type CommentThread struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the comment thread. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#commentThread". Kind string `json:"kind,omitempty"` // Replies: The replies object contains a limited number of replies (if // any) to the top level comment found in the snippet. Replies *CommentThreadReplies `json:"replies,omitempty"` // Snippet: The snippet object contains basic details about the comment // thread and also the top level comment. Snippet *CommentThreadSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThread) MarshalJSON() ([]byte, error) { type NoMethod CommentThread raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type CommentThreadListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of comment threads that match the request criteria. Items []*CommentThread `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#commentThreadListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThreadListResponse) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentThreadReplies: Comments written in (direct or indirect) reply // to the top level comment. type CommentThreadReplies struct { // Comments: 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 []*Comment `json:"comments,omitempty"` // ForceSendFields is a list of field names (e.g. "Comments") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Comments") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThreadReplies) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadReplies raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentThreadSnippet: Basic details about a comment thread. type CommentThreadSnippet struct { // CanReply: 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 bool `json:"canReply,omitempty"` // ChannelId: 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 `json:"channelId,omitempty"` // IsPublic: Whether the thread (and therefore all its comments) is // visible to all YouTube users. IsPublic bool `json:"isPublic,omitempty"` // TopLevelComment: The top level comment of this thread. TopLevelComment *Comment `json:"topLevelComment,omitempty"` // TotalReplyCount: The total number of replies (not including the top // level comment). TotalReplyCount int64 `json:"totalReplyCount,omitempty"` // VideoId: The ID of the video the comments refer to, if any. No // video_id implies a channel discussion comment. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "CanReply") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CanReply") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThreadSnippet) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ContentRating: Ratings schemes. The country-specific ratings are // mostly for movies and shows. NEXT_ID: 71 type ContentRating struct { // AcbRating: 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. // // Possible values: // "acbC" // "acbE" // "acbG" // "acbM" // "acbMa15plus" // "acbP" // "acbPg" // "acbR18plus" // "acbUnrated" AcbRating string `json:"acbRating,omitempty"` // AgcomRating: The video's rating from Italy's Autorità per le // Garanzie nelle Comunicazioni (AGCOM). // // Possible values: // "agcomT" // "agcomUnrated" // "agcomVm14" // "agcomVm18" AgcomRating string `json:"agcomRating,omitempty"` // AnatelRating: The video's Anatel (Asociación Nacional de // Televisión) rating for Chilean television. // // Possible values: // "anatelA" // "anatelF" // "anatelI" // "anatelI10" // "anatelI12" // "anatelI7" // "anatelR" // "anatelUnrated" AnatelRating string `json:"anatelRating,omitempty"` // BbfcRating: The video's British Board of Film Classification (BBFC) // rating. // // Possible values: // "bbfc12" // "bbfc12a" // "bbfc15" // "bbfc18" // "bbfcPg" // "bbfcR18" // "bbfcU" // "bbfcUnrated" BbfcRating string `json:"bbfcRating,omitempty"` // BfvcRating: The video's rating from Thailand's Board of Film and // Video Censors. // // Possible values: // "bfvc13" // "bfvc15" // "bfvc18" // "bfvc20" // "bfvcB" // "bfvcE" // "bfvcG" // "bfvcUnrated" BfvcRating string `json:"bfvcRating,omitempty"` // BmukkRating: The video's rating from the Austrian Board of Media // Classification (Bundesministerium für Unterricht, Kunst und Kultur). // // Possible values: // "bmukk10" // "bmukk12" // "bmukk14" // "bmukk16" // "bmukk6" // "bmukk8" // "bmukkAa" // "bmukkUnrated" BmukkRating string `json:"bmukkRating,omitempty"` // CatvRating: 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. // // Possible values: // "catv14plus" // "catv18plus" // "catvC" // "catvC8" // "catvG" // "catvPg" // "catvUnrated" CatvRating string `json:"catvRating,omitempty"` // CatvfrRating: 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. // // Possible values: // "catvfr13plus" // "catvfr16plus" // "catvfr18plus" // "catvfr8plus" // "catvfrG" // "catvfrUnrated" CatvfrRating string `json:"catvfrRating,omitempty"` // CbfcRating: The video's Central Board of Film Certification (CBFC - // India) rating. // // Possible values: // "cbfcA" // "cbfcS" // "cbfcU" // "cbfcUA" // "cbfcUnrated" CbfcRating string `json:"cbfcRating,omitempty"` // CccRating: The video's Consejo de Calificación Cinematográfica // (Chile) rating. // // Possible values: // "ccc14" // "ccc18" // "ccc18s" // "ccc18v" // "ccc6" // "cccTe" // "cccUnrated" CccRating string `json:"cccRating,omitempty"` // CceRating: The video's rating from Portugal's Comissão de // Classificação de Espect´culos. // // Possible values: // "cceM12" // "cceM14" // "cceM16" // "cceM18" // "cceM4" // "cceM6" // "cceUnrated" CceRating string `json:"cceRating,omitempty"` // ChfilmRating: The video's rating in Switzerland. // // Possible values: // "chfilm0" // "chfilm12" // "chfilm16" // "chfilm18" // "chfilm6" // "chfilmUnrated" ChfilmRating string `json:"chfilmRating,omitempty"` // ChvrsRating: The video's Canadian Home Video Rating System (CHVRS) // rating. // // Possible values: // "chvrs14a" // "chvrs18a" // "chvrsE" // "chvrsG" // "chvrsPg" // "chvrsR" // "chvrsUnrated" ChvrsRating string `json:"chvrsRating,omitempty"` // CicfRating: The video's rating from the Commission de Contrôle des // Films (Belgium). // // Possible values: // "cicfE" // "cicfKntEna" // "cicfKtEa" // "cicfUnrated" CicfRating string `json:"cicfRating,omitempty"` // CnaRating: The video's rating from Romania's CONSILIUL NATIONAL AL // AUDIOVIZUALULUI (CNA). // // Possible values: // "cna12" // "cna15" // "cna18" // "cna18plus" // "cnaAp" // "cnaUnrated" CnaRating string `json:"cnaRating,omitempty"` // CncRating: Rating system in France - Commission de classification // cinematographique // // Possible values: // "cnc10" // "cnc12" // "cnc16" // "cnc18" // "cncE" // "cncInterdiction" // "cncT" // "cncUnrated" CncRating string `json:"cncRating,omitempty"` // CsaRating: The video's rating from France's Conseil supérieur de // l?audiovisuel, which rates broadcast content. // // Possible values: // "csa10" // "csa12" // "csa16" // "csa18" // "csaInterdiction" // "csaT" // "csaUnrated" CsaRating string `json:"csaRating,omitempty"` // CscfRating: The video's rating from Luxembourg's Commission de // surveillance de la classification des films (CSCF). // // Possible values: // "cscf12" // "cscf16" // "cscf18" // "cscf6" // "cscf9" // "cscfA" // "cscfAl" // "cscfUnrated" CscfRating string `json:"cscfRating,omitempty"` // CzfilmRating: The video's rating in the Czech Republic. // // Possible values: // "czfilm12" // "czfilm14" // "czfilm18" // "czfilmU" // "czfilmUnrated" CzfilmRating string `json:"czfilmRating,omitempty"` // DjctqRating: The video's Departamento de Justiça, Classificação, // Qualificação e Títulos (DJCQT - Brazil) rating. // // Possible values: // "djctq10" // "djctq1012" // "djctq1014" // "djctq1016" // "djctq1018" // "djctq12" // "djctq1214" // "djctq1216" // "djctq1218" // "djctq14" // "djctq1416" // "djctq1418" // "djctq16" // "djctq1618" // "djctq18" // "djctqEr" // "djctqL" // "djctqL10" // "djctqL12" // "djctqL14" // "djctqL16" // "djctqL18" // "djctqUnrated" DjctqRating string `json:"djctqRating,omitempty"` // DjctqRatingReasons: Reasons that explain why the video received its // DJCQT (Brazil) rating. // // Possible values: // "djctqCriminalActs" // "djctqDrugs" // "djctqExplicitSex" // "djctqExtremeViolence" // "djctqIllegalDrugs" // "djctqImpactingContent" // "djctqInappropriateLanguage" // "djctqLegalDrugs" // "djctqNudity" // "djctqSex" // "djctqSexualContent" // "djctqViolence" DjctqRatingReasons []string `json:"djctqRatingReasons,omitempty"` // EcbmctRating: Rating system in Turkey - Evaluation and Classification // Board of the Ministry of Culture and Tourism // // Possible values: // "ecbmct13a" // "ecbmct13plus" // "ecbmct15a" // "ecbmct15plus" // "ecbmct18plus" // "ecbmct7a" // "ecbmct7plus" // "ecbmctG" // "ecbmctUnrated" EcbmctRating string `json:"ecbmctRating,omitempty"` // EefilmRating: The video's rating in Estonia. // // Possible values: // "eefilmK12" // "eefilmK14" // "eefilmK16" // "eefilmK6" // "eefilmL" // "eefilmMs12" // "eefilmMs6" // "eefilmPere" // "eefilmUnrated" EefilmRating string `json:"eefilmRating,omitempty"` // EgfilmRating: The video's rating in Egypt. // // Possible values: // "egfilm18" // "egfilmBn" // "egfilmGn" // "egfilmUnrated" EgfilmRating string `json:"egfilmRating,omitempty"` // EirinRating: The video's Eirin (映倫) rating. Eirin is the Japanese // rating system. // // Possible values: // "eirinG" // "eirinPg12" // "eirinR15plus" // "eirinR18plus" // "eirinUnrated" EirinRating string `json:"eirinRating,omitempty"` // FcbmRating: The video's rating from Malaysia's Film Censorship Board. // // Possible values: // "fcbm18" // "fcbm18pa" // "fcbm18pl" // "fcbm18sg" // "fcbm18sx" // "fcbmP13" // "fcbmPg13" // "fcbmU" // "fcbmUnrated" FcbmRating string `json:"fcbmRating,omitempty"` // FcoRating: The video's rating from Hong Kong's Office for Film, // Newspaper and Article Administration. // // Possible values: // "fcoI" // "fcoIi" // "fcoIia" // "fcoIib" // "fcoIii" // "fcoUnrated" FcoRating string `json:"fcoRating,omitempty"` // FmocRating: This property has been deprecated. Use the // contentDetails.contentRating.cncRating instead. // // Possible values: // "fmoc10" // "fmoc12" // "fmoc16" // "fmoc18" // "fmocE" // "fmocU" // "fmocUnrated" FmocRating string `json:"fmocRating,omitempty"` // FpbRating: The video's rating from South Africa's Film and // Publication Board. // // Possible values: // "fpb10" // "fpb1012Pg" // "fpb13" // "fpb16" // "fpb18" // "fpb79Pg" // "fpbA" // "fpbPg" // "fpbUnrated" // "fpbX18" // "fpbXx" FpbRating string `json:"fpbRating,omitempty"` // FpbRatingReasons: Reasons that explain why the video received its FPB // (South Africa) rating. // // Possible values: // "fpbBlasphemy" // "fpbCriminalTechniques" // "fpbDrugs" // "fpbHorror" // "fpbImitativeActsTechniques" // "fpbLanguage" // "fpbNudity" // "fpbPrejudice" // "fpbSex" // "fpbSexualViolence" // "fpbViolence" FpbRatingReasons []string `json:"fpbRatingReasons,omitempty"` // FskRating: The video's Freiwillige Selbstkontrolle der Filmwirtschaft // (FSK - Germany) rating. // // Possible values: // "fsk0" // "fsk12" // "fsk16" // "fsk18" // "fsk6" // "fskUnrated" FskRating string `json:"fskRating,omitempty"` // GrfilmRating: The video's rating in Greece. // // Possible values: // "grfilmE" // "grfilmK" // "grfilmK12" // "grfilmK13" // "grfilmK15" // "grfilmK17" // "grfilmK18" // "grfilmUnrated" GrfilmRating string `json:"grfilmRating,omitempty"` // IcaaRating: The video's Instituto de la Cinematografía y de las // Artes Audiovisuales (ICAA - Spain) rating. // // Possible values: // "icaa12" // "icaa13" // "icaa16" // "icaa18" // "icaa7" // "icaaApta" // "icaaUnrated" // "icaaX" IcaaRating string `json:"icaaRating,omitempty"` // IfcoRating: The video's Irish Film Classification Office (IFCO - // Ireland) rating. See the IFCO website for more information. // // Possible values: // "ifco12" // "ifco12a" // "ifco15" // "ifco15a" // "ifco16" // "ifco18" // "ifcoG" // "ifcoPg" // "ifcoUnrated" IfcoRating string `json:"ifcoRating,omitempty"` // IlfilmRating: The video's rating in Israel. // // Possible values: // "ilfilm12" // "ilfilm14" // "ilfilm16" // "ilfilm18" // "ilfilmAa" // "ilfilmUnrated" IlfilmRating string `json:"ilfilmRating,omitempty"` // IncaaRating: The video's INCAA (Instituto Nacional de Cine y Artes // Audiovisuales - Argentina) rating. // // Possible values: // "incaaAtp" // "incaaC" // "incaaSam13" // "incaaSam16" // "incaaSam18" // "incaaUnrated" IncaaRating string `json:"incaaRating,omitempty"` // KfcbRating: The video's rating from the Kenya Film Classification // Board. // // Possible values: // "kfcb16plus" // "kfcbG" // "kfcbPg" // "kfcbR" // "kfcbUnrated" KfcbRating string `json:"kfcbRating,omitempty"` // KijkwijzerRating: voor de Classificatie van Audiovisuele Media // (Netherlands). // // Possible values: // "kijkwijzer12" // "kijkwijzer16" // "kijkwijzer18" // "kijkwijzer6" // "kijkwijzer9" // "kijkwijzerAl" // "kijkwijzerUnrated" KijkwijzerRating string `json:"kijkwijzerRating,omitempty"` // KmrbRating: The video's Korea Media Rating Board // (영상물등급위원회) rating. The KMRB rates videos in South // Korea. // // Possible values: // "kmrb12plus" // "kmrb15plus" // "kmrbAll" // "kmrbR" // "kmrbTeenr" // "kmrbUnrated" KmrbRating string `json:"kmrbRating,omitempty"` // LsfRating: The video's rating from Indonesia's Lembaga Sensor Film. // // Possible values: // "lsf13" // "lsf17" // "lsf21" // "lsfA" // "lsfBo" // "lsfD" // "lsfR" // "lsfSu" // "lsfUnrated" LsfRating string `json:"lsfRating,omitempty"` // MccaaRating: The video's rating from Malta's Film Age-Classification // Board. // // Possible values: // "mccaa12" // "mccaa12a" // "mccaa14" // "mccaa15" // "mccaa16" // "mccaa18" // "mccaaPg" // "mccaaU" // "mccaaUnrated" MccaaRating string `json:"mccaaRating,omitempty"` // MccypRating: The video's rating from the Danish Film Institute's (Det // Danske Filminstitut) Media Council for Children and Young People. // // Possible values: // "mccyp11" // "mccyp15" // "mccyp7" // "mccypA" // "mccypUnrated" MccypRating string `json:"mccypRating,omitempty"` // McstRating: The video's rating system for Vietnam - MCST // // Possible values: // "mcst0" // "mcst16plus" // "mcstC13" // "mcstC16" // "mcstC18" // "mcstGPg" // "mcstP" // "mcstUnrated" McstRating string `json:"mcstRating,omitempty"` // MdaRating: The video's rating from Singapore's Media Development // Authority (MDA) and, specifically, it's Board of Film Censors (BFC). // // Possible values: // "mdaG" // "mdaM18" // "mdaNc16" // "mdaPg" // "mdaPg13" // "mdaR21" // "mdaUnrated" MdaRating string `json:"mdaRating,omitempty"` // MedietilsynetRating: The video's rating from Medietilsynet, the // Norwegian Media Authority. // // Possible values: // "medietilsynet11" // "medietilsynet12" // "medietilsynet15" // "medietilsynet18" // "medietilsynet6" // "medietilsynet7" // "medietilsynet9" // "medietilsynetA" // "medietilsynetUnrated" MedietilsynetRating string `json:"medietilsynetRating,omitempty"` // MekuRating: The video's rating from Finland's Kansallinen // Audiovisuaalinen Instituutti (National Audiovisual Institute). // // Possible values: // "meku12" // "meku16" // "meku18" // "meku7" // "mekuS" // "mekuUnrated" MekuRating string `json:"mekuRating,omitempty"` // MenaMpaaRating: The rating system for MENA countries, a clone of // MPAA. It is needed to // // Possible values: // "menaMpaaG" // "menaMpaaPg" // "menaMpaaPg13" // "menaMpaaR" // "menaMpaaUnrated" MenaMpaaRating string `json:"menaMpaaRating,omitempty"` // MibacRating: The video's rating from the Ministero dei Beni e delle // Attività Culturali e del Turismo (Italy). // // Possible values: // "mibacT" // "mibacUnrated" // "mibacVap" // "mibacVm12" // "mibacVm14" // "mibacVm18" MibacRating string `json:"mibacRating,omitempty"` // MocRating: The video's Ministerio de Cultura (Colombia) rating. // // Possible values: // "moc12" // "moc15" // "moc18" // "moc7" // "mocBanned" // "mocE" // "mocT" // "mocUnrated" // "mocX" MocRating string `json:"mocRating,omitempty"` // MoctwRating: The video's rating from Taiwan's Ministry of Culture // (文化部). // // Possible values: // "moctwG" // "moctwP" // "moctwPg" // "moctwR" // "moctwR12" // "moctwR15" // "moctwUnrated" MoctwRating string `json:"moctwRating,omitempty"` // MpaaRating: The video's Motion Picture Association of America (MPAA) // rating. // // Possible values: // "mpaaG" // "mpaaNc17" // "mpaaPg" // "mpaaPg13" // "mpaaR" // "mpaaUnrated" // "mpaaX" MpaaRating string `json:"mpaaRating,omitempty"` // MpaatRating: The rating system for trailer, DVD, and Ad in the US. // See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html. // // Possible values: // "mpaatGb" // "mpaatRb" MpaatRating string `json:"mpaatRating,omitempty"` // MtrcbRating: The video's rating from the Movie and Television Review // and Classification Board (Philippines). // // Possible values: // "mtrcbG" // "mtrcbPg" // "mtrcbR13" // "mtrcbR16" // "mtrcbR18" // "mtrcbUnrated" // "mtrcbX" MtrcbRating string `json:"mtrcbRating,omitempty"` // NbcRating: The video's rating from the Maldives National Bureau of // Classification. // // Possible values: // "nbc12plus" // "nbc15plus" // "nbc18plus" // "nbc18plusr" // "nbcG" // "nbcPg" // "nbcPu" // "nbcUnrated" NbcRating string `json:"nbcRating,omitempty"` // NbcplRating: The video's rating in Poland. // // Possible values: // "nbcpl18plus" // "nbcplI" // "nbcplIi" // "nbcplIii" // "nbcplIv" // "nbcplUnrated" NbcplRating string `json:"nbcplRating,omitempty"` // NfrcRating: The video's rating from the Bulgarian National Film // Center. // // Possible values: // "nfrcA" // "nfrcB" // "nfrcC" // "nfrcD" // "nfrcUnrated" // "nfrcX" NfrcRating string `json:"nfrcRating,omitempty"` // NfvcbRating: The video's rating from Nigeria's National Film and // Video Censors Board. // // Possible values: // "nfvcb12" // "nfvcb12a" // "nfvcb15" // "nfvcb18" // "nfvcbG" // "nfvcbPg" // "nfvcbRe" // "nfvcbUnrated" NfvcbRating string `json:"nfvcbRating,omitempty"` // NkclvRating: The video's rating from the Nacionãlais Kino centrs // (National Film Centre of Latvia). // // Possible values: // "nkclv12plus" // "nkclv18plus" // "nkclv7plus" // "nkclvU" // "nkclvUnrated" NkclvRating string `json:"nkclvRating,omitempty"` // OflcRating: The video's Office of Film and Literature Classification // (OFLC - New Zealand) rating. // // Possible values: // "oflcG" // "oflcM" // "oflcPg" // "oflcR13" // "oflcR15" // "oflcR16" // "oflcR18" // "oflcRp13" // "oflcRp16" // "oflcRp18" // "oflcUnrated" OflcRating string `json:"oflcRating,omitempty"` // PefilmRating: The video's rating in Peru. // // Possible values: // "pefilm14" // "pefilm18" // "pefilmPg" // "pefilmPt" // "pefilmUnrated" PefilmRating string `json:"pefilmRating,omitempty"` // RcnofRating: The video's rating from the Hungarian Nemzeti Filmiroda, // the Rating Committee of the National Office of Film. // // Possible values: // "rcnofI" // "rcnofIi" // "rcnofIii" // "rcnofIv" // "rcnofUnrated" // "rcnofV" // "rcnofVi" RcnofRating string `json:"rcnofRating,omitempty"` // ResorteviolenciaRating: The video's rating in Venezuela. // // Possible values: // "resorteviolenciaA" // "resorteviolenciaB" // "resorteviolenciaC" // "resorteviolenciaD" // "resorteviolenciaE" // "resorteviolenciaUnrated" ResorteviolenciaRating string `json:"resorteviolenciaRating,omitempty"` // RtcRating: The video's General Directorate of Radio, Television and // Cinematography (Mexico) rating. // // Possible values: // "rtcA" // "rtcAa" // "rtcB" // "rtcB15" // "rtcC" // "rtcD" // "rtcUnrated" RtcRating string `json:"rtcRating,omitempty"` // RteRating: The video's rating from Ireland's Raidió Teilifís // Éireann. // // Possible values: // "rteCh" // "rteGa" // "rteMa" // "rtePs" // "rteUnrated" RteRating string `json:"rteRating,omitempty"` // RussiaRating: The video's National Film Registry of the Russian // Federation (MKRF - Russia) rating. // // Possible values: // "russia0" // "russia12" // "russia16" // "russia18" // "russia6" // "russiaUnrated" RussiaRating string `json:"russiaRating,omitempty"` // SkfilmRating: The video's rating in Slovakia. // // Possible values: // "skfilmG" // "skfilmP2" // "skfilmP5" // "skfilmP8" // "skfilmUnrated" SkfilmRating string `json:"skfilmRating,omitempty"` // SmaisRating: The video's rating in Iceland. // // Possible values: // "smais12" // "smais14" // "smais16" // "smais18" // "smais7" // "smaisL" // "smaisUnrated" SmaisRating string `json:"smaisRating,omitempty"` // SmsaRating: The video's rating from Statens medieråd (Sweden's // National Media Council). // // Possible values: // "smsa11" // "smsa15" // "smsa7" // "smsaA" // "smsaUnrated" SmsaRating string `json:"smsaRating,omitempty"` // TvpgRating: The video's TV Parental Guidelines (TVPG) rating. // // Possible values: // "pg14" // "tvpgG" // "tvpgMa" // "tvpgPg" // "tvpgUnrated" // "tvpgY" // "tvpgY7" // "tvpgY7Fv" TvpgRating string `json:"tvpgRating,omitempty"` // YtRating: A rating that YouTube uses to identify age-restricted // content. // // Possible values: // "ytAgeRestricted" YtRating string `json:"ytRating,omitempty"` // ForceSendFields is a list of field names (e.g. "AcbRating") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AcbRating") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ContentRating) MarshalJSON() ([]byte, error) { type NoMethod ContentRating raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GeoPoint: Geographical coordinates of a point, in WGS84. type GeoPoint struct { // Altitude: Altitude above the reference ellipsoid, in meters. Altitude float64 `json:"altitude,omitempty"` // Latitude: Latitude in degrees. Latitude float64 `json:"latitude,omitempty"` // Longitude: Longitude in degrees. Longitude float64 `json:"longitude,omitempty"` // ForceSendFields is a list of field names (e.g. "Altitude") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Altitude") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GeoPoint) MarshalJSON() ([]byte, error) { type NoMethod GeoPoint raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } func (s *GeoPoint) UnmarshalJSON(data []byte) error { type NoMethod GeoPoint var s1 struct { Altitude gensupport.JSONFloat64 `json:"altitude"` Latitude gensupport.JSONFloat64 `json:"latitude"` Longitude gensupport.JSONFloat64 `json:"longitude"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Altitude = float64(s1.Altitude) s.Latitude = float64(s1.Latitude) s.Longitude = float64(s1.Longitude) return nil } // GuideCategory: 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. type GuideCategory struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the guide category. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#guideCategory". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the // category, such as its title. Snippet *GuideCategorySnippet `json:"snippet,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GuideCategory) MarshalJSON() ([]byte, error) { type NoMethod GuideCategory raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type GuideCategoryListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: 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. Items []*GuideCategory `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#guideCategoryListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GuideCategoryListResponse) MarshalJSON() ([]byte, error) { type NoMethod GuideCategoryListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GuideCategorySnippet: Basic details about a guide category. type GuideCategorySnippet struct { ChannelId string `json:"channelId,omitempty"` // Title: Description of the guide category. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GuideCategorySnippet) MarshalJSON() ([]byte, error) { type NoMethod GuideCategorySnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nLanguage: An i18nLanguage resource identifies a UI language // currently supported by YouTube. type I18nLanguage struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the i18n language. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nLanguage". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the i18n // language, such as language code and human-readable name. Snippet *I18nLanguageSnippet `json:"snippet,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nLanguage) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type I18nLanguageListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: 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. Items []*I18nLanguage `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nLanguageListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nLanguageListResponse) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguageListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nLanguageSnippet: Basic details about an i18n language, such as // language code and human-readable name. type I18nLanguageSnippet struct { // Hl: A short BCP-47 code that uniquely identifies a language. Hl string `json:"hl,omitempty"` // Name: The human-readable name of the language in the language itself. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Hl") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Hl") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nLanguageSnippet) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguageSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nRegion: A i18nRegion resource identifies a region where YouTube // is available. type I18nRegion struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the i18n region. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nRegion". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the i18n // region, such as region code and human-readable name. Snippet *I18nRegionSnippet `json:"snippet,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nRegion) MarshalJSON() ([]byte, error) { type NoMethod I18nRegion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type I18nRegionListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: 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. Items []*I18nRegion `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nRegionListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nRegionListResponse) MarshalJSON() ([]byte, error) { type NoMethod I18nRegionListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nRegionSnippet: Basic details about an i18n region, such as region // code and human-readable name. type I18nRegionSnippet struct { // Gl: The region code as a 2-letter ISO country code. Gl string `json:"gl,omitempty"` // Name: The human-readable name of the region. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Gl") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Gl") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nRegionSnippet) MarshalJSON() ([]byte, error) { type NoMethod I18nRegionSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ImageSettings: Branding properties for images associated with the // channel. type ImageSettings struct { // BackgroundImageUrl: 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. BackgroundImageUrl *LocalizedProperty `json:"backgroundImageUrl,omitempty"` // BannerExternalUrl: This is used only in update requests; if it's set, // we use this URL to generate all of the above banner URLs. BannerExternalUrl string `json:"bannerExternalUrl,omitempty"` // BannerImageUrl: Banner image. Desktop size (1060x175). BannerImageUrl string `json:"bannerImageUrl,omitempty"` // BannerMobileExtraHdImageUrl: Banner image. Mobile size high // resolution (1440x395). BannerMobileExtraHdImageUrl string `json:"bannerMobileExtraHdImageUrl,omitempty"` // BannerMobileHdImageUrl: Banner image. Mobile size high resolution // (1280x360). BannerMobileHdImageUrl string `json:"bannerMobileHdImageUrl,omitempty"` // BannerMobileImageUrl: Banner image. Mobile size (640x175). BannerMobileImageUrl string `json:"bannerMobileImageUrl,omitempty"` // BannerMobileLowImageUrl: Banner image. Mobile size low resolution // (320x88). BannerMobileLowImageUrl string `json:"bannerMobileLowImageUrl,omitempty"` // BannerMobileMediumHdImageUrl: Banner image. Mobile size medium/high // resolution (960x263). BannerMobileMediumHdImageUrl string `json:"bannerMobileMediumHdImageUrl,omitempty"` // BannerTabletExtraHdImageUrl: Banner image. Tablet size extra high // resolution (2560x424). BannerTabletExtraHdImageUrl string `json:"bannerTabletExtraHdImageUrl,omitempty"` // BannerTabletHdImageUrl: Banner image. Tablet size high resolution // (2276x377). BannerTabletHdImageUrl string `json:"bannerTabletHdImageUrl,omitempty"` // BannerTabletImageUrl: Banner image. Tablet size (1707x283). BannerTabletImageUrl string `json:"bannerTabletImageUrl,omitempty"` // BannerTabletLowImageUrl: Banner image. Tablet size low resolution // (1138x188). BannerTabletLowImageUrl string `json:"bannerTabletLowImageUrl,omitempty"` // BannerTvHighImageUrl: Banner image. TV size high resolution // (1920x1080). BannerTvHighImageUrl string `json:"bannerTvHighImageUrl,omitempty"` // BannerTvImageUrl: Banner image. TV size extra high resolution // (2120x1192). BannerTvImageUrl string `json:"bannerTvImageUrl,omitempty"` // BannerTvLowImageUrl: Banner image. TV size low resolution (854x480). BannerTvLowImageUrl string `json:"bannerTvLowImageUrl,omitempty"` // BannerTvMediumImageUrl: Banner image. TV size medium resolution // (1280x720). BannerTvMediumImageUrl string `json:"bannerTvMediumImageUrl,omitempty"` // LargeBrandedBannerImageImapScript: The image map script for the large // banner image. LargeBrandedBannerImageImapScript *LocalizedProperty `json:"largeBrandedBannerImageImapScript,omitempty"` // LargeBrandedBannerImageUrl: The URL for the 854px by 70px image that // appears below the video player in the expanded video view of the // video watch page. LargeBrandedBannerImageUrl *LocalizedProperty `json:"largeBrandedBannerImageUrl,omitempty"` // SmallBrandedBannerImageImapScript: The image map script for the small // banner image. SmallBrandedBannerImageImapScript *LocalizedProperty `json:"smallBrandedBannerImageImapScript,omitempty"` // SmallBrandedBannerImageUrl: The URL for the 640px by 70px banner // image that appears below the video player in the default view of the // video watch page. SmallBrandedBannerImageUrl *LocalizedProperty `json:"smallBrandedBannerImageUrl,omitempty"` // TrackingImageUrl: The URL for a 1px by 1px tracking pixel that can be // used to collect statistics for views of the channel or video pages. TrackingImageUrl string `json:"trackingImageUrl,omitempty"` // WatchIconImageUrl: 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. WatchIconImageUrl string `json:"watchIconImageUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "BackgroundImageUrl") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BackgroundImageUrl") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ImageSettings) MarshalJSON() ([]byte, error) { type NoMethod ImageSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // IngestionInfo: Describes information necessary for ingesting an RTMP // or an HTTP stream. type IngestionInfo struct { // BackupIngestionAddress: 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. BackupIngestionAddress string `json:"backupIngestionAddress,omitempty"` // IngestionAddress: 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 IngestionAddress string `json:"ingestionAddress,omitempty"` // StreamName: The HTTP or RTMP stream name that YouTube assigns to the // video stream. StreamName string `json:"streamName,omitempty"` // ForceSendFields is a list of field names (e.g. // "BackupIngestionAddress") to unconditionally include in API requests. // By default, fields with empty values are omitted from API requests. // However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BackupIngestionAddress") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *IngestionInfo) MarshalJSON() ([]byte, error) { type NoMethod IngestionInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type InvideoBranding struct { ImageBytes string `json:"imageBytes,omitempty"` ImageUrl string `json:"imageUrl,omitempty"` Position *InvideoPosition `json:"position,omitempty"` TargetChannelId string `json:"targetChannelId,omitempty"` Timing *InvideoTiming `json:"timing,omitempty"` // ForceSendFields is a list of field names (e.g. "ImageBytes") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ImageBytes") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *InvideoBranding) MarshalJSON() ([]byte, error) { type NoMethod InvideoBranding raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // InvideoPosition: 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. type InvideoPosition struct { // CornerPosition: Describes in which corner of the video the visual // widget will appear. // // Possible values: // "bottomLeft" // "bottomRight" // "topLeft" // "topRight" CornerPosition string `json:"cornerPosition,omitempty"` // Type: Defines the position type. // // Possible values: // "corner" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "CornerPosition") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CornerPosition") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *InvideoPosition) MarshalJSON() ([]byte, error) { type NoMethod InvideoPosition raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // InvideoPromotion: Describes an invideo promotion campaign consisting // of multiple promoted items. A campaign belongs to a single // channel_id. type InvideoPromotion struct { // DefaultTiming: The default temporal position within the video where // the promoted item will be displayed. Can be overriden by more // specific timing in the item. DefaultTiming *InvideoTiming `json:"defaultTiming,omitempty"` // Items: List of promoted items in decreasing priority. Items []*PromotedItem `json:"items,omitempty"` // Position: The spatial position within the video where the promoted // item will be displayed. Position *InvideoPosition `json:"position,omitempty"` // UseSmartTiming: 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. UseSmartTiming bool `json:"useSmartTiming,omitempty"` // ForceSendFields is a list of field names (e.g. "DefaultTiming") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DefaultTiming") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *InvideoPromotion) MarshalJSON() ([]byte, error) { type NoMethod InvideoPromotion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // InvideoTiming: Describes a temporal position of a visual widget // inside a video. type InvideoTiming struct { // DurationMs: Defines the duration in milliseconds for which the // promotion should be displayed. If missing, the client should use the // default. DurationMs uint64 `json:"durationMs,omitempty,string"` // OffsetMs: 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. OffsetMs uint64 `json:"offsetMs,omitempty,string"` // Type: 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. // // Possible values: // "offsetFromEnd" // "offsetFromStart" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "DurationMs") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DurationMs") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *InvideoTiming) MarshalJSON() ([]byte, error) { type NoMethod InvideoTiming raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LanguageTag struct { Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Value") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Value") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LanguageTag) MarshalJSON() ([]byte, error) { type NoMethod LanguageTag raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveBroadcast: A liveBroadcast resource represents an event that will // be streamed, via live video, on YouTube. type LiveBroadcast struct { // ContentDetails: The contentDetails object contains information about // the event's video content, such as whether the content can be shown // in an embedded video player or if it will be archived and therefore // available for viewing after the event has concluded. ContentDetails *LiveBroadcastContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the broadcast. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveBroadcast". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the event, // including its title, description, start time, and end time. Snippet *LiveBroadcastSnippet `json:"snippet,omitempty"` // Statistics: The statistics object contains info about the event's // current stats. These include concurrent viewers and total chat count. // Statistics can change (in either direction) during the lifetime of an // event. Statistics are only returned while the event is live. Statistics *LiveBroadcastStatistics `json:"statistics,omitempty"` // Status: The status object contains information about the event's // status. Status *LiveBroadcastStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveBroadcast) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcast raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveBroadcastContentDetails: Detailed settings of a broadcast. type LiveBroadcastContentDetails struct { // BoundStreamId: This value uniquely identifies the live stream bound // to the broadcast. BoundStreamId string `json:"boundStreamId,omitempty"` // BoundStreamLastUpdateTimeMs: The date and time that the live stream // referenced by boundStreamId was last updated. BoundStreamLastUpdateTimeMs string `json:"boundStreamLastUpdateTimeMs,omitempty"` // Possible values: // "closedCaptionsDisabled" // "closedCaptionsEmbedded" // "closedCaptionsHttpPost" ClosedCaptionsType string `json:"closedCaptionsType,omitempty"` // EnableAutoStart: This setting indicates whether auto start is enabled // for this broadcast. EnableAutoStart bool `json:"enableAutoStart,omitempty"` // EnableClosedCaptions: This setting indicates whether HTTP POST closed // captioning is enabled for this broadcast. The ingestion URL of the // closed captions is returned through the liveStreams API. This is // mutually exclusive with using the closed_captions_type property, and // is equivalent to setting closed_captions_type to // CLOSED_CAPTIONS_HTTP_POST. EnableClosedCaptions bool `json:"enableClosedCaptions,omitempty"` // EnableContentEncryption: This setting indicates whether YouTube // should enable content encryption for the broadcast. EnableContentEncryption bool `json:"enableContentEncryption,omitempty"` // EnableDvr: 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. EnableDvr bool `json:"enableDvr,omitempty"` // EnableEmbed: 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. EnableEmbed bool `json:"enableEmbed,omitempty"` // EnableLowLatency: Indicates whether this broadcast has low latency // enabled. EnableLowLatency bool `json:"enableLowLatency,omitempty"` // LatencyPreference: If both this and enable_low_latency are set, they // must match. LATENCY_NORMAL should match enable_low_latency=false // LATENCY_LOW should match enable_low_latency=true LATENCY_ULTRA_LOW // should have enable_low_latency omitted. // // Possible values: // "low" // "normal" // "ultraLow" LatencyPreference string `json:"latencyPreference,omitempty"` Mesh string `json:"mesh,omitempty"` // MonitorStream: The monitorStream object contains information about // the monitor stream, which the broadcaster can use to review the event // content before the broadcast stream is shown publicly. MonitorStream *MonitorStreamInfo `json:"monitorStream,omitempty"` // Projection: The projection format of this broadcast. This defaults to // rectangular. // // Possible values: // "360" // "mesh" // "rectangular" Projection string `json:"projection,omitempty"` // RecordFromStart: 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. RecordFromStart bool `json:"recordFromStart,omitempty"` // StartWithSlate: 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. StartWithSlate bool `json:"startWithSlate,omitempty"` // Possible values: // "left_right" // "mono" // "top_bottom" StereoLayout string `json:"stereoLayout,omitempty"` // ForceSendFields is a list of field names (e.g. "BoundStreamId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BoundStreamId") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveBroadcastContentDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveBroadcastListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of broadcasts that match the request criteria. Items []*LiveBroadcast `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveBroadcastListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveBroadcastListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveBroadcastSnippet struct { // ActualEndTime: 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. ActualEndTime string `json:"actualEndTime,omitempty"` // ActualStartTime: 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. ActualStartTime string `json:"actualStartTime,omitempty"` // ChannelId: The ID that YouTube uses to uniquely identify the channel // that is publishing the broadcast. ChannelId string `json:"channelId,omitempty"` // Description: 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. Description string `json:"description,omitempty"` IsDefaultBroadcast bool `json:"isDefaultBroadcast,omitempty"` // LiveChatId: The id of the live chat for this broadcast. LiveChatId string `json:"liveChatId,omitempty"` // PublishedAt: 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. PublishedAt string `json:"publishedAt,omitempty"` // ScheduledEndTime: 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. ScheduledEndTime string `json:"scheduledEndTime,omitempty"` // ScheduledStartTime: 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. ScheduledStartTime string `json:"scheduledStartTime,omitempty"` // Thumbnails: A map of thumbnail images associated with the broadcast. // For each nested object in this object, the key is the name of the // thumbnail image, and the value is an object that contains other // information about the thumbnail. Thumbnails *ThumbnailDetails `json:"thumbnails,omitempty"` // Title: 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. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "ActualEndTime") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActualEndTime") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveBroadcastSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveBroadcastStatistics: 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. type LiveBroadcastStatistics struct { // ConcurrentViewers: 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. ConcurrentViewers uint64 `json:"concurrentViewers,omitempty,string"` // TotalChatCount: 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. TotalChatCount uint64 `json:"totalChatCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "ConcurrentViewers") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ConcurrentViewers") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveBroadcastStatistics) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastStatistics raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveBroadcastStatus struct { // LifeCycleStatus: The broadcast's status. The status can be updated // using the API's liveBroadcasts.transition method. // // Possible values: // "complete" // "created" // "live" // "liveStarting" // "ready" // "revoked" // "testStarting" // "testing" LifeCycleStatus string `json:"lifeCycleStatus,omitempty"` // LiveBroadcastPriority: Priority of the live broadcast event (internal // state). // // Possible values: // "high" // "low" // "normal" LiveBroadcastPriority string `json:"liveBroadcastPriority,omitempty"` // PrivacyStatus: 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. // // Possible values: // "private" // "public" // "unlisted" // "unlisted_new" PrivacyStatus string `json:"privacyStatus,omitempty"` // RecordingStatus: The broadcast's recording status. // // Possible values: // "notRecording" // "recorded" // "recording" RecordingStatus string `json:"recordingStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "LifeCycleStatus") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LifeCycleStatus") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveBroadcastStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatBan: A liveChatBan resource represents a ban for a YouTube // live chat. type LiveChatBan struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the ban. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatBan". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the ban. Snippet *LiveChatBanSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatBan) MarshalJSON() ([]byte, error) { type NoMethod LiveChatBan raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatBanSnippet struct { // BanDurationSeconds: The duration of a ban, only filled if the ban has // type TEMPORARY. BanDurationSeconds uint64 `json:"banDurationSeconds,omitempty,string"` BannedUserDetails *ChannelProfileDetails `json:"bannedUserDetails,omitempty"` // LiveChatId: The chat this ban is pertinent to. LiveChatId string `json:"liveChatId,omitempty"` // Type: The type of ban. // // Possible values: // "permanent" // "temporary" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "BanDurationSeconds") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BanDurationSeconds") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatBanSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatBanSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatFanFundingEventDetails struct { // AmountDisplayString: A rendered string that displays the fund amount // and currency to the user. AmountDisplayString string `json:"amountDisplayString,omitempty"` // AmountMicros: The amount of the fund. AmountMicros uint64 `json:"amountMicros,omitempty,string"` // Currency: The currency in which the fund was made. Currency string `json:"currency,omitempty"` // UserComment: The comment added by the user to this fan funding event. UserComment string `json:"userComment,omitempty"` // ForceSendFields is a list of field names (e.g. "AmountDisplayString") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AmountDisplayString") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatFanFundingEventDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatFanFundingEventDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatMessage: A liveChatMessage resource represents a chat message // in a YouTube Live Chat. type LiveChatMessage struct { // AuthorDetails: The authorDetails object contains basic details about // the user that posted this message. AuthorDetails *LiveChatMessageAuthorDetails `json:"authorDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the message. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatMessage". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the message. Snippet *LiveChatMessageSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AuthorDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorDetails") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatMessage) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageAuthorDetails struct { // ChannelId: The YouTube channel ID. ChannelId string `json:"channelId,omitempty"` // ChannelUrl: The channel's URL. ChannelUrl string `json:"channelUrl,omitempty"` // DisplayName: The channel's display name. DisplayName string `json:"displayName,omitempty"` // IsChatModerator: Whether the author is a moderator of the live chat. IsChatModerator bool `json:"isChatModerator,omitempty"` // IsChatOwner: Whether the author is the owner of the live chat. IsChatOwner bool `json:"isChatOwner,omitempty"` // IsChatSponsor: Whether the author is a sponsor of the live chat. IsChatSponsor bool `json:"isChatSponsor,omitempty"` // IsVerified: Whether the author's identity has been verified by // YouTube. IsVerified bool `json:"isVerified,omitempty"` // ProfileImageUrl: The channels's avatar URL. ProfileImageUrl string `json:"profileImageUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatMessageAuthorDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageAuthorDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageDeletedDetails struct { DeletedMessageId string `json:"deletedMessageId,omitempty"` // ForceSendFields is a list of field names (e.g. "DeletedMessageId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeletedMessageId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMessageDeletedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageDeletedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of live chat messages. Items []*LiveChatMessage `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatMessageListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` // OfflineAt: The date and time when the underlying stream went offline. // The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. OfflineAt string `json:"offlineAt,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PollingIntervalMillis: The amount of time the client should wait // before polling again. PollingIntervalMillis int64 `json:"pollingIntervalMillis,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatMessageListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageRetractedDetails struct { RetractedMessageId string `json:"retractedMessageId,omitempty"` // ForceSendFields is a list of field names (e.g. "RetractedMessageId") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RetractedMessageId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMessageRetractedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageRetractedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageSnippet struct { // AuthorChannelId: The ID of the user that authored this message, this // field is not always filled. textMessageEvent - the user that wrote // the message fanFundingEvent - the user that funded the broadcast // newSponsorEvent - the user that just became a sponsor // messageDeletedEvent - the moderator that took the action // messageRetractedEvent - the author that retracted their message // userBannedEvent - the moderator that took the action superChatEvent - // the user that made the purchase AuthorChannelId string `json:"authorChannelId,omitempty"` // DisplayMessage: Contains a string that can be displayed to the user. // If this field is not present the message is silent, at the moment // only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent. DisplayMessage string `json:"displayMessage,omitempty"` // FanFundingEventDetails: Details about the funding event, this is only // set if the type is 'fanFundingEvent'. FanFundingEventDetails *LiveChatFanFundingEventDetails `json:"fanFundingEventDetails,omitempty"` // HasDisplayContent: Whether the message has display content that // should be displayed to users. HasDisplayContent bool `json:"hasDisplayContent,omitempty"` LiveChatId string `json:"liveChatId,omitempty"` MessageDeletedDetails *LiveChatMessageDeletedDetails `json:"messageDeletedDetails,omitempty"` MessageRetractedDetails *LiveChatMessageRetractedDetails `json:"messageRetractedDetails,omitempty"` PollClosedDetails *LiveChatPollClosedDetails `json:"pollClosedDetails,omitempty"` PollEditedDetails *LiveChatPollEditedDetails `json:"pollEditedDetails,omitempty"` PollOpenedDetails *LiveChatPollOpenedDetails `json:"pollOpenedDetails,omitempty"` PollVotedDetails *LiveChatPollVotedDetails `json:"pollVotedDetails,omitempty"` // PublishedAt: The date and time when the message was orignally // published. The value is specified in ISO 8601 // (YYYY-MM-DDThh:mm:ss.sZ) format. PublishedAt string `json:"publishedAt,omitempty"` // SuperChatDetails: Details about the Super Chat event, this is only // set if the type is 'superChatEvent'. SuperChatDetails *LiveChatSuperChatDetails `json:"superChatDetails,omitempty"` // SuperStickerDetails: Details about the Super Sticker event, this is // only set if the type is 'superStickerEvent'. SuperStickerDetails *LiveChatSuperStickerDetails `json:"superStickerDetails,omitempty"` // TextMessageDetails: Details about the text message, this is only set // if the type is 'textMessageEvent'. TextMessageDetails *LiveChatTextMessageDetails `json:"textMessageDetails,omitempty"` // Type: The type of message, this will always be present, it determines // the contents of the message as well as which fields will be present. // // Possible values: // "chatEndedEvent" // "fanFundingEvent" // "messageDeletedEvent" // "messageRetractedEvent" // "newSponsorEvent" // "pollClosedEvent" // "pollEditedEvent" // "pollOpenedEvent" // "pollVotedEvent" // "sponsorOnlyModeEndedEvent" // "sponsorOnlyModeStartedEvent" // "superChatEvent" // "superStickerEvent" // "textMessageEvent" // "tombstone" // "userBannedEvent" Type string `json:"type,omitempty"` UserBannedDetails *LiveChatUserBannedMessageDetails `json:"userBannedDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorChannelId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMessageSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatModerator: A liveChatModerator resource represents a // moderator for a YouTube live chat. A chat moderator has the ability // to ban/unban users from a chat, remove message, etc. type LiveChatModerator struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the moderator. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatModerator". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the // moderator. Snippet *LiveChatModeratorSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatModerator) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModerator raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatModeratorListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of moderators that match the request criteria. Items []*LiveChatModerator `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatModeratorListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatModeratorListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModeratorListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatModeratorSnippet struct { // LiveChatId: The ID of the live chat this moderator can act on. LiveChatId string `json:"liveChatId,omitempty"` // ModeratorDetails: Details about the moderator. ModeratorDetails *ChannelProfileDetails `json:"moderatorDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "LiveChatId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LiveChatId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatModeratorSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModeratorSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatPollClosedDetails struct { // PollId: The id of the poll that was closed. PollId string `json:"pollId,omitempty"` // ForceSendFields is a list of field names (e.g. "PollId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PollId") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatPollClosedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollClosedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatPollEditedDetails struct { Id string `json:"id,omitempty"` Items []*LiveChatPollItem `json:"items,omitempty"` Prompt string `json:"prompt,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Id") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatPollEditedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollEditedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatPollItem struct { // Description: Plain text description of the item. Description string `json:"description,omitempty"` ItemId string `json:"itemId,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatPollItem) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatPollOpenedDetails struct { Id string `json:"id,omitempty"` Items []*LiveChatPollItem `json:"items,omitempty"` Prompt string `json:"prompt,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Id") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatPollOpenedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollOpenedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatPollVotedDetails struct { // ItemId: The poll item the user chose. ItemId string `json:"itemId,omitempty"` // PollId: The poll the user voted on. PollId string `json:"pollId,omitempty"` // ForceSendFields is a list of field names (e.g. "ItemId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ItemId") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatPollVotedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollVotedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatSuperChatDetails struct { // AmountDisplayString: A rendered string that displays the fund amount // and currency to the user. AmountDisplayString string `json:"amountDisplayString,omitempty"` // AmountMicros: The amount purchased by the user, in micros (1,750,000 // micros = 1.75). AmountMicros uint64 `json:"amountMicros,omitempty,string"` // Currency: The currency in which the purchase was made. Currency string `json:"currency,omitempty"` // Tier: The tier in which the amount belongs. Lower amounts belong to // lower tiers. The lowest tier is 1. Tier int64 `json:"tier,omitempty"` // UserComment: The comment added by the user to this Super Chat event. UserComment string `json:"userComment,omitempty"` // ForceSendFields is a list of field names (e.g. "AmountDisplayString") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AmountDisplayString") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatSuperChatDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatSuperChatDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatSuperStickerDetails struct { // AmountDisplayString: A rendered string that displays the fund amount // and currency to the user. AmountDisplayString string `json:"amountDisplayString,omitempty"` // AmountMicros: The amount purchased by the user, in micros (1,750,000 // micros = 1.75). AmountMicros uint64 `json:"amountMicros,omitempty,string"` // Currency: The currency in which the purchase was made. Currency string `json:"currency,omitempty"` // SuperStickerMetadata: Information about the Super Sticker. SuperStickerMetadata *SuperStickerMetadata `json:"superStickerMetadata,omitempty"` // Tier: The tier in which the amount belongs. Lower amounts belong to // lower tiers. The lowest tier is 1. Tier int64 `json:"tier,omitempty"` // ForceSendFields is a list of field names (e.g. "AmountDisplayString") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AmountDisplayString") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatSuperStickerDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatSuperStickerDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatTextMessageDetails struct { // MessageText: The user's message. MessageText string `json:"messageText,omitempty"` // ForceSendFields is a list of field names (e.g. "MessageText") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MessageText") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatTextMessageDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatTextMessageDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatUserBannedMessageDetails struct { // BanDurationSeconds: The duration of the ban. This property is only // present if the banType is temporary. BanDurationSeconds uint64 `json:"banDurationSeconds,omitempty,string"` // BanType: The type of ban. // // Possible values: // "permanent" // "temporary" BanType string `json:"banType,omitempty"` // BannedUserDetails: The details of the user that was banned. BannedUserDetails *ChannelProfileDetails `json:"bannedUserDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "BanDurationSeconds") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BanDurationSeconds") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatUserBannedMessageDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatUserBannedMessageDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveStream: A live stream describes a live ingestion point. type LiveStream struct { // Cdn: The cdn object defines the live stream's content delivery // network (CDN) settings. These settings provide details about the // manner in which you stream your content to YouTube. Cdn *CdnSettings `json:"cdn,omitempty"` // ContentDetails: The content_details object contains information about // the stream, including the closed captions ingestion URL. ContentDetails *LiveStreamContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the stream. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveStream". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the stream, // including its channel, title, and description. Snippet *LiveStreamSnippet `json:"snippet,omitempty"` // Status: The status object contains information about live stream's // status. Status *LiveStreamStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Cdn") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Cdn") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStream) MarshalJSON() ([]byte, error) { type NoMethod LiveStream raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamConfigurationIssue struct { // Description: The long-form description of the issue and how to // resolve it. Description string `json:"description,omitempty"` // Reason: The short-form reason for this issue. Reason string `json:"reason,omitempty"` // Severity: How severe this issue is to the stream. // // Possible values: // "error" // "info" // "warning" Severity string `json:"severity,omitempty"` // Type: The kind of error happening. // // Possible values: // "audioBitrateHigh" // "audioBitrateLow" // "audioBitrateMismatch" // "audioCodec" // "audioCodecMismatch" // "audioSampleRate" // "audioSampleRateMismatch" // "audioStereoMismatch" // "audioTooManyChannels" // "badContainer" // "bitrateHigh" // "bitrateLow" // "frameRateHigh" // "framerateMismatch" // "gopMismatch" // "gopSizeLong" // "gopSizeOver" // "gopSizeShort" // "interlacedVideo" // "multipleAudioStreams" // "multipleVideoStreams" // "noAudioStream" // "noVideoStream" // "openGop" // "resolutionMismatch" // "videoBitrateMismatch" // "videoCodec" // "videoCodecMismatch" // "videoIngestionFasterThanRealtime" // "videoIngestionStarved" // "videoInterlaceMismatch" // "videoProfileMismatch" // "videoResolutionSuboptimal" // "videoResolutionUnsupported" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamConfigurationIssue) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamConfigurationIssue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveStreamContentDetails: Detailed settings of a stream. type LiveStreamContentDetails struct { // ClosedCaptionsIngestionUrl: The ingestion URL where the closed // captions of this stream are sent. ClosedCaptionsIngestionUrl string `json:"closedCaptionsIngestionUrl,omitempty"` // IsReusable: 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. IsReusable bool `json:"isReusable,omitempty"` // ForceSendFields is a list of field names (e.g. // "ClosedCaptionsIngestionUrl") to unconditionally include in API // requests. By default, fields with empty values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "ClosedCaptionsIngestionUrl") to include in API requests with the // JSON null value. By default, fields with empty values are omitted // from API requests. However, any field with an empty value appearing // in NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamContentDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamHealthStatus struct { // ConfigurationIssues: The configurations issues on this stream ConfigurationIssues []*LiveStreamConfigurationIssue `json:"configurationIssues,omitempty"` // LastUpdateTimeSeconds: The last time this status was updated (in // seconds) LastUpdateTimeSeconds uint64 `json:"lastUpdateTimeSeconds,omitempty,string"` // Status: The status code of this stream // // Possible values: // "bad" // "good" // "noData" // "ok" // "revoked" Status string `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "ConfigurationIssues") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ConfigurationIssues") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveStreamHealthStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamHealthStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of live streams that match the request criteria. Items []*LiveStream `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveStreamListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamSnippet struct { // ChannelId: The ID that YouTube uses to uniquely identify the channel // that is transmitting the stream. ChannelId string `json:"channelId,omitempty"` // Description: The stream's description. The value cannot be longer // than 10000 characters. Description string `json:"description,omitempty"` IsDefaultStream bool `json:"isDefaultStream,omitempty"` // PublishedAt: The date and time that the stream was created. The value // is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. PublishedAt string `json:"publishedAt,omitempty"` // Title: The stream's title. The value must be between 1 and 128 // characters long. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveStreamStatus: Brief description of the live stream status. type LiveStreamStatus struct { // HealthStatus: The health status of the stream. HealthStatus *LiveStreamHealthStatus `json:"healthStatus,omitempty"` // Possible values: // "active" // "created" // "error" // "inactive" // "ready" StreamStatus string `json:"streamStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "HealthStatus") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "HealthStatus") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LocalizedProperty struct { Default string `json:"default,omitempty"` // DefaultLanguage: The language of the default property. DefaultLanguage *LanguageTag `json:"defaultLanguage,omitempty"` Localized []*LocalizedString `json:"localized,omitempty"` // ForceSendFields is a list of field names (e.g. "Default") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Default") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LocalizedProperty) MarshalJSON() ([]byte, error) { type NoMethod LocalizedProperty raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LocalizedString struct { Language string `json:"language,omitempty"` Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Language") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Language") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LocalizedString) MarshalJSON() ([]byte, error) { type NoMethod LocalizedString raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MonitorStreamInfo: Settings and Info of the monitor stream type MonitorStreamInfo struct { // BroadcastStreamDelayMs: If you have set the enableMonitorStream // property to true, then this property determines the length of the // live broadcast delay. BroadcastStreamDelayMs int64 `json:"broadcastStreamDelayMs,omitempty"` // EmbedHtml: HTML code that embeds a player that plays the monitor // stream. EmbedHtml string `json:"embedHtml,omitempty"` // EnableMonitorStream: 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. EnableMonitorStream bool `json:"enableMonitorStream,omitempty"` // ForceSendFields is a list of field names (e.g. // "BroadcastStreamDelayMs") to unconditionally include in API requests. // By default, fields with empty values are omitted from API requests. // However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BroadcastStreamDelayMs") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *MonitorStreamInfo) MarshalJSON() ([]byte, error) { type NoMethod MonitorStreamInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Nonprofit: Nonprofit information. type Nonprofit struct { // NonprofitId: Id of the nonprofit. NonprofitId *NonprofitId `json:"nonprofitId,omitempty"` // NonprofitLegalName: Legal name of the nonprofit. NonprofitLegalName string `json:"nonprofitLegalName,omitempty"` // ForceSendFields is a list of field names (e.g. "NonprofitId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NonprofitId") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Nonprofit) MarshalJSON() ([]byte, error) { type NoMethod Nonprofit raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type NonprofitId struct { Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Value") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Value") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *NonprofitId) MarshalJSON() ([]byte, error) { type NoMethod NonprofitId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PageInfo: Paging details for lists of resources, including total // number of items available and number of resources returned in a // single page. type PageInfo struct { // ResultsPerPage: The number of results included in the API response. ResultsPerPage int64 `json:"resultsPerPage,omitempty"` // TotalResults: The total number of results in the result set. TotalResults int64 `json:"totalResults,omitempty"` // ForceSendFields is a list of field names (e.g. "ResultsPerPage") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResultsPerPage") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *PageInfo) MarshalJSON() ([]byte, error) { type NoMethod PageInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Playlist: 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. type Playlist struct { // ContentDetails: The contentDetails object contains information like // video count. ContentDetails *PlaylistContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the playlist. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlist". Kind string `json:"kind,omitempty"` // Localizations: Localizations for different languages Localizations map[string]PlaylistLocalization `json:"localizations,omitempty"` // Player: The player object contains information that you would use to // play the playlist in an embedded player. Player *PlaylistPlayer `json:"player,omitempty"` // Snippet: The snippet object contains basic details about the // playlist, such as its title and description. Snippet *PlaylistSnippet `json:"snippet,omitempty"` // Status: The status object contains status information for the // playlist. Status *PlaylistStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *Playlist) MarshalJSON() ([]byte, error) { type NoMethod Playlist raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistContentDetails struct { // ItemCount: The number of videos in the playlist. ItemCount int64 `json:"itemCount,omitempty"` // ForceSendFields is a list of field names (e.g. "ItemCount") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ItemCount") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistContentDetails) MarshalJSON() ([]byte, error) { type NoMethod PlaylistContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistItem: 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. type PlaylistItem struct { // ContentDetails: The contentDetails object is included in the resource // if the included item is a YouTube video. The object contains // additional information about the video. ContentDetails *PlaylistItemContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the playlist item. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlistItem". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the playlist // item, such as its title and position in the playlist. Snippet *PlaylistItemSnippet `json:"snippet,omitempty"` // Status: The status object contains information about the playlist // item's privacy status. Status *PlaylistItemStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *PlaylistItem) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistItemContentDetails struct { // EndAt: 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. EndAt string `json:"endAt,omitempty"` // Note: A user-generated note for this item. Note string `json:"note,omitempty"` // StartAt: 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. StartAt string `json:"startAt,omitempty"` // VideoId: 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. VideoId string `json:"videoId,omitempty"` // VideoPublishedAt: The date and time that the video was published to // YouTube. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) // format. VideoPublishedAt string `json:"videoPublishedAt,omitempty"` // ForceSendFields is a list of field names (e.g. "EndAt") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EndAt") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemContentDetails) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistItemListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of playlist items that match the request criteria. Items []*PlaylistItem `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlistItemListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistItemSnippet: Basic details about a playlist, including title, // description and thumbnails. type PlaylistItemSnippet struct { // ChannelId: The ID that YouTube uses to uniquely identify the user // that added the item to the playlist. ChannelId string `json:"channelId,omitempty"` // ChannelTitle: Channel title for the channel that the playlist item // belongs to. ChannelTitle string `json:"channelTitle,omitempty"` // Description: The item's description. Description string `json:"description,omitempty"` // PlaylistId: The ID that YouTube uses to uniquely identify the // playlist that the playlist item is in. PlaylistId string `json:"playlistId,omitempty"` // Position: 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. Position int64 `json:"position,omitempty"` // PublishedAt: 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. PublishedAt string `json:"publishedAt,omitempty"` // ResourceId: The id object contains information that can be used to // uniquely identify the resource that is included in the playlist as // the playlist item. ResourceId *ResourceId `json:"resourceId,omitempty"` // Thumbnails: A map of thumbnail images associated with the playlist // item. 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 *ThumbnailDetails `json:"thumbnails,omitempty"` // Title: The item's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemSnippet) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistItemStatus: Information about the playlist item's privacy // status. type PlaylistItemStatus struct { // PrivacyStatus: This resource's privacy status. // // Possible values: // "private" // "public" // "unlisted" // "unlisted_new" PrivacyStatus string `json:"privacyStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "PrivacyStatus") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PrivacyStatus") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemStatus) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of playlists that match the request criteria. Items []*Playlist `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlistListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistLocalization: Playlist localization setting type PlaylistLocalization struct { // Description: The localized strings for playlist's description. Description string `json:"description,omitempty"` // Title: The localized strings for playlist's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistLocalization) MarshalJSON() ([]byte, error) { type NoMethod PlaylistLocalization raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistPlayer struct { // EmbedHtml: An