// Copyright 2024 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 v3. // // For product documentation, see: https://developers.google.com/youtube/ // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # 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 [google.golang.org/api/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 [google.golang.org/api/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 [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // youtubeService, err := youtube.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] 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" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" 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 var _ = internaloption.WithDefaultEndpoint var _ = internal.Version const apiId = "youtube:v3" const apiName = "youtube" const apiVersion = "v3" const basePath = "https://youtube.googleapis.com/" const basePathTemplate = "https://youtube.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://youtube.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // Manage your YouTube account YoutubeScope = "https://www.googleapis.com/auth/youtube" // See a list of your current active channel members, their current level, and // when they became a member YoutubeChannelMembershipsCreatorScope = "https://www.googleapis.com/auth/youtube.channel-memberships.creator" // 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 := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.channel-memberships.creator", "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...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) 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.AbuseReports = NewAbuseReportsService(s) 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.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.Members = NewMembersService(s) s.MembershipsLevels = NewMembershipsLevelsService(s) s.PlaylistImages = NewPlaylistImagesService(s) s.PlaylistItems = NewPlaylistItemsService(s) s.Playlists = NewPlaylistsService(s) s.Search = NewSearchService(s) s.Subscriptions = NewSubscriptionsService(s) s.SuperChatEvents = NewSuperChatEventsService(s) s.Tests = NewTestsService(s) s.ThirdPartyLinks = NewThirdPartyLinksService(s) s.Thumbnails = NewThumbnailsService(s) s.VideoAbuseReportReasons = NewVideoAbuseReportReasonsService(s) s.VideoCategories = NewVideoCategoriesService(s) s.Videos = NewVideosService(s) s.Watermarks = NewWatermarksService(s) s.Youtube = NewYoutubeService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment AbuseReports *AbuseReportsService Activities *ActivitiesService Captions *CaptionsService ChannelBanners *ChannelBannersService ChannelSections *ChannelSectionsService Channels *ChannelsService CommentThreads *CommentThreadsService Comments *CommentsService I18nLanguages *I18nLanguagesService I18nRegions *I18nRegionsService LiveBroadcasts *LiveBroadcastsService LiveChatBans *LiveChatBansService LiveChatMessages *LiveChatMessagesService LiveChatModerators *LiveChatModeratorsService LiveStreams *LiveStreamsService Members *MembersService MembershipsLevels *MembershipsLevelsService PlaylistImages *PlaylistImagesService PlaylistItems *PlaylistItemsService Playlists *PlaylistsService Search *SearchService Subscriptions *SubscriptionsService SuperChatEvents *SuperChatEventsService Tests *TestsService ThirdPartyLinks *ThirdPartyLinksService Thumbnails *ThumbnailsService VideoAbuseReportReasons *VideoAbuseReportReasonsService VideoCategories *VideoCategoriesService Videos *VideosService Watermarks *WatermarksService Youtube *YoutubeService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewAbuseReportsService(s *Service) *AbuseReportsService { rs := &AbuseReportsService{s: s} return rs } type AbuseReportsService struct { s *Service } 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 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 NewMembersService(s *Service) *MembersService { rs := &MembersService{s: s} return rs } type MembersService struct { s *Service } func NewMembershipsLevelsService(s *Service) *MembershipsLevelsService { rs := &MembershipsLevelsService{s: s} return rs } type MembershipsLevelsService struct { s *Service } func NewPlaylistImagesService(s *Service) *PlaylistImagesService { rs := &PlaylistImagesService{s: s} return rs } type PlaylistImagesService 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 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 NewTestsService(s *Service) *TestsService { rs := &TestsService{s: s} return rs } type TestsService struct { s *Service } func NewThirdPartyLinksService(s *Service) *ThirdPartyLinksService { rs := &ThirdPartyLinksService{s: s} return rs } type ThirdPartyLinksService 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 } func NewYoutubeService(s *Service) *YoutubeService { rs := &YoutubeService{s: s} rs.V3 = NewYoutubeV3Service(s) return rs } type YoutubeService struct { s *Service V3 *YoutubeV3Service } func NewYoutubeV3Service(s *Service) *YoutubeV3Service { rs := &YoutubeV3Service{s: s} return rs } type YoutubeV3Service struct { s *Service } type AbuseReport struct { AbuseTypes []*AbuseType `json:"abuseTypes,omitempty"` Description string `json:"description,omitempty"` RelatedEntities []*RelatedEntity `json:"relatedEntities,omitempty"` Subject *Entity `json:"subject,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AbuseTypes") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AbuseTypes") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AbuseReport) MarshalJSON() ([]byte, error) { type NoMethod AbuseReport return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type AbuseType struct { Id string `json:"id,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AbuseType) MarshalJSON() ([]byte, error) { type NoMethod AbuseType return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AccessPolicy) MarshalJSON() ([]byte, error) { type NoMethod AccessPolicy return gensupport.MarshalJSON(NoMethod(*s), 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"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Activity) MarshalJSON() ([]byte, error) { type NoMethod Activity return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetails return gensupport.MarshalJSON(NoMethod(*s), 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. @mutable youtube.activities.insert 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsBulletin) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsBulletin return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsChannelItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsChannelItem return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsComment) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsComment return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsFavorite) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsFavorite return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsLike) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsLike return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsPlaylistItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsPlaylistItem return gensupport.MarshalJSON(NoMethod(*s), 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: // "ctaTypeUnspecified" // "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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsPromotedItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsPromotedItem return gensupport.MarshalJSON(NoMethod(*s), 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: // "reasonUnspecified" // "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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsRecommendation) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsRecommendation return gensupport.MarshalJSON(NoMethod(*s), 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: // "unspecified" // "googlePlus" // "facebook" // "twitter" 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsSocial) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsSocial return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsSubscription) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsSubscription return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityContentDetailsUpload) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsUpload return gensupport.MarshalJSON(NoMethod(*s), 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 []*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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivityListResponse) MarshalJSON() ([]byte, error) { type NoMethod ActivityListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ActivitySnippet: Basic details about an activity, including title, // description, thumbnails, activity type and group. Next ID: 12 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. @mutable youtube.activities.insert 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. 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: // "typeUnspecified" // "upload" // "like" // "favorite" // "comment" // "subscription" // "playlistItem" // "recommendation" // "bulletin" // "social" // "channelItem" // "promotedItem" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ActivitySnippet) MarshalJSON() ([]byte, error) { type NoMethod ActivitySnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Caption) MarshalJSON() ([]byte, error) { type NoMethod Caption return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CaptionListResponse) MarshalJSON() ([]byte, error) { type NoMethod CaptionListResponse return gensupport.MarshalJSON(NoMethod(*s), 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: // "unknown" // "primary" // "commentary" // "descriptive" 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: // "unknownFormat" // "unsupportedFormat" // "processingFailed" 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. // @mutable youtube.captions.insert youtube.captions.update 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. 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: // "serving" // "syncing" // "failed" Status string `json:"status,omitempty"` // TrackKind: The caption track's type. // // Possible values: // "standard" // "ASR" // "forced" TrackKind string `json:"trackKind,omitempty"` // VideoId: The ID that YouTube uses to uniquely identify the video associated // with the caption track. @mutable youtube.captions.insert 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CaptionSnippet) MarshalJSON() ([]byte, error) { type NoMethod CaptionSnippet return gensupport.MarshalJSON(NoMethod(*s), 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: // "rtmp" // "dash" // "webrtc" // "hls" IngestionType string `json:"ingestionType,omitempty"` // Resolution: The resolution of the inbound video data. // // Possible values: // "240p" // "360p" // "480p" // "720p" // "1080p" // "1440p" // "2160p" // "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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CdnSettings) MarshalJSON() ([]byte, error) { type NoMethod CdnSettings return gensupport.MarshalJSON(NoMethod(*s), 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"` // 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Channel) MarshalJSON() ([]byte, error) { type NoMethod Channel return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelAuditDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelAuditDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ChannelBannerResource: A channel banner returned as the response to a // channel_banner.insert call. type ChannelBannerResource struct { 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelBannerResource) MarshalJSON() ([]byte, error) { type NoMethod ChannelBannerResource return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelBrandingSettings) MarshalJSON() ([]byte, error) { type NoMethod ChannelBrandingSettings return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelContentDetailsRelatedPlaylists) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentDetailsRelatedPlaylists return gensupport.MarshalJSON(NoMethod(*s), 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 when the channel was linked to the content // owner. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelContentOwnerDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentOwnerDetails return gensupport.MarshalJSON(NoMethod(*s), 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: // "subscribe" // "unsubscribe" // "cview" 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelConversionPing) MarshalJSON() ([]byte, error) { type NoMethod ChannelConversionPing return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelConversionPings) MarshalJSON() ([]byte, error) { type NoMethod ChannelConversionPings return gensupport.MarshalJSON(NoMethod(*s), 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 []*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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelListResponse) MarshalJSON() ([]byte, error) { type NoMethod ChannelListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelLocalization) MarshalJSON() ([]byte, error) { type NoMethod ChannelLocalization return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelProfileDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelProfileDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSection) MarshalJSON() ([]byte, error) { type NoMethod ChannelSection return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSectionContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionContentDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSectionListResponse) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSectionLocalization) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionLocalization return gensupport.MarshalJSON(NoMethod(*s), 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: // "channelsectionStyleUnspecified" // "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: // "channelsectionTypeUndefined" // "singlePlaylist" // "multiplePlaylists" // "popularUploads" // "recentUploads" // "likes" // "allPlaylists" // "likedPlaylists" // "recentPosts" // "recentActivity" // "liveEvents" // "upcomingEvents" // "completedEvents" // "multipleChannels" // "postedVideos" // "postedPlaylists" // "subscriptions" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSectionSnippet) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSectionTargeting) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionTargeting return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSettings) MarshalJSON() ([]byte, error) { type NoMethod ChannelSettings return gensupport.MarshalJSON(NoMethod(*s), 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. 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. // Thumbnail images might be empty for newly created channels and might take up // to one day to populate. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelSnippet) MarshalJSON() ([]byte, error) { type NoMethod ChannelSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelStatistics) MarshalJSON() ([]byte, error) { type NoMethod ChannelStatistics return gensupport.MarshalJSON(NoMethod(*s), 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 // https://support.google.com/youtube/answer/71673 for more information. // // Possible values: // "longUploadsUnspecified" // "allowed" // "eligible" // "disallowed" LongUploadsStatus string `json:"longUploadsStatus,omitempty"` MadeForKids bool `json:"madeForKids,omitempty"` // PrivacyStatus: Privacy status of the channel. // // Possible values: // "public" // "unlisted" // "private" PrivacyStatus string `json:"privacyStatus,omitempty"` SelfDeclaredMadeForKids bool `json:"selfDeclaredMadeForKids,omitempty"` // ForceSendFields is a list of field names (e.g. "IsLinked") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelStatus) MarshalJSON() ([]byte, error) { type NoMethod ChannelStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ChannelToStoreLinkDetails: Information specific to a store on a // merchandising platform linked to a YouTube channel. type ChannelToStoreLinkDetails struct { // BillingDetails: Information specific to billing (read-only). BillingDetails *ChannelToStoreLinkDetailsBillingDetails `json:"billingDetails,omitempty"` // MerchantId: Google Merchant Center id of the store. MerchantId uint64 `json:"merchantId,omitempty,string"` // StoreName: Name of the store. StoreName string `json:"storeName,omitempty"` // StoreUrl: Landing page of the store. StoreUrl string `json:"storeUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "BillingDetails") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BillingDetails") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelToStoreLinkDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelToStoreLinkDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ChannelToStoreLinkDetailsBillingDetails: Information specific to billing. type ChannelToStoreLinkDetailsBillingDetails struct { // BillingStatus: The current billing profile status. // // Possible values: // "billingStatusUnspecified" // "billingStatusPending" // "billingStatusActive" // "billingStatusInactive" BillingStatus string `json:"billingStatus,omitempty"` // ForceSendFields is a list of field names (e.g. "BillingStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BillingStatus") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelToStoreLinkDetailsBillingDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelToStoreLinkDetailsBillingDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ChannelTopicDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelTopicDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Comment) MarshalJSON() ([]byte, error) { type NoMethod Comment return gensupport.MarshalJSON(NoMethod(*s), 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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentListResponse) MarshalJSON() ([]byte, error) { type NoMethod CommentListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CommentSnippet: Basic details about a comment, such as its author and text. type CommentSnippet struct { AuthorChannelId *CommentSnippetAuthorChannelId `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: // "published" - The comment is available for public display. // "heldForReview" - The comment is awaiting review by a moderator. // "likelySpam" // "rejected" - The comment is unfit for display. 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 originally published. 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 the comment was last updated. 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: // "none" // "like" - The entity is liked. // "dislike" - The entity is disliked. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentSnippet) MarshalJSON() ([]byte, error) { type NoMethod CommentSnippet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CommentSnippetAuthorChannelId: The id of the author's YouTube channel, if // any. type CommentSnippetAuthorChannelId 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentSnippetAuthorChannelId) MarshalJSON() ([]byte, error) { type NoMethod CommentSnippetAuthorChannelId return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentThread) MarshalJSON() ([]byte, error) { type NoMethod CommentThread return gensupport.MarshalJSON(NoMethod(*s), 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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentThreadListResponse) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentThreadReplies) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadReplies return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CommentThreadSnippet) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadSnippet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentRating: Ratings schemes. The country-specific ratings are mostly for // movies and shows. LINT.IfChange 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: // "acbUnspecified" // "acbE" - E // "acbP" - Programs that have been given a P classification by the // Australian Communications and Media Authority. These programs are intended // for preschool children. // "acbC" - Programs that have been given a C classification by the // Australian Communications and Media Authority. These programs are intended // for children (other than preschool children) who are younger than 14 years // of age. // "acbG" - G // "acbPg" - PG // "acbM" - M // "acbMa15plus" - MA15+ // "acbR18plus" - R18+ // "acbUnrated" AcbRating string `json:"acbRating,omitempty"` // AgcomRating: The video's rating from Italy's Autorità per le Garanzie nelle // Comunicazioni (AGCOM). // // Possible values: // "agcomUnspecified" // "agcomT" - T // "agcomVm14" - VM14 // "agcomVm18" - VM18 // "agcomUnrated" AgcomRating string `json:"agcomRating,omitempty"` // AnatelRating: The video's Anatel (Asociación Nacional de Televisión) // rating for Chilean television. // // Possible values: // "anatelUnspecified" // "anatelF" - F // "anatelI" - I // "anatelI7" - I-7 // "anatelI10" - I-10 // "anatelI12" - I-12 // "anatelR" - R // "anatelA" - A // "anatelUnrated" AnatelRating string `json:"anatelRating,omitempty"` // BbfcRating: The video's British Board of Film Classification (BBFC) rating. // // Possible values: // "bbfcUnspecified" // "bbfcU" - U // "bbfcPg" - PG // "bbfc12a" - 12A // "bbfc12" - 12 // "bbfc15" - 15 // "bbfc18" - 18 // "bbfcR18" - R18 // "bbfcUnrated" BbfcRating string `json:"bbfcRating,omitempty"` // BfvcRating: The video's rating from Thailand's Board of Film and Video // Censors. // // Possible values: // "bfvcUnspecified" // "bfvcG" - G // "bfvcE" - E // "bfvc13" - 13 // "bfvc15" - 15 // "bfvc18" - 18 // "bfvc20" - 20 // "bfvcB" - B // "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: // "bmukkUnspecified" // "bmukkAa" - Unrestricted // "bmukk6" - 6+ // "bmukk8" - 8+ // "bmukk10" - 10+ // "bmukk12" - 12+ // "bmukk14" - 14+ // "bmukk16" - 16+ // "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: // "catvUnspecified" // "catvC" - C // "catvC8" - C8 // "catvG" - G // "catvPg" - PG // "catv14plus" - 14+ // "catv18plus" - 18+ // "catvUnrated" // "catvE" 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: // "catvfrUnspecified" // "catvfrG" - G // "catvfr8plus" - 8+ // "catvfr13plus" - 13+ // "catvfr16plus" - 16+ // "catvfr18plus" - 18+ // "catvfrUnrated" // "catvfrE" CatvfrRating string `json:"catvfrRating,omitempty"` // CbfcRating: The video's Central Board of Film Certification (CBFC - India) // rating. // // Possible values: // "cbfcUnspecified" // "cbfcU" - U // "cbfcUA" - U/A // "cbfcUA7plus" - U/A 7+ // "cbfcUA13plus" - U/A 13+ // "cbfcUA16plus" - U/A 16+ // "cbfcA" - A // "cbfcS" - S // "cbfcUnrated" CbfcRating string `json:"cbfcRating,omitempty"` // CccRating: The video's Consejo de Calificación Cinematográfica (Chile) // rating. // // Possible values: // "cccUnspecified" // "cccTe" - Todo espectador // "ccc6" - 6+ - Inconveniente para menores de 7 años // "ccc14" - 14+ // "ccc18" - 18+ // "ccc18v" - 18+ - contenido excesivamente violento // "ccc18s" - 18+ - contenido pornográfico // "cccUnrated" CccRating string `json:"cccRating,omitempty"` // CceRating: The video's rating from Portugal's Comissão de Classificação // de Espect´culos. // // Possible values: // "cceUnspecified" // "cceM4" - 4 // "cceM6" - 6 // "cceM12" - 12 // "cceM16" - 16 // "cceM18" - 18 // "cceUnrated" // "cceM14" - 14 CceRating string `json:"cceRating,omitempty"` // ChfilmRating: The video's rating in Switzerland. // // Possible values: // "chfilmUnspecified" // "chfilm0" - 0 // "chfilm6" - 6 // "chfilm12" - 12 // "chfilm16" - 16 // "chfilm18" - 18 // "chfilmUnrated" ChfilmRating string `json:"chfilmRating,omitempty"` // ChvrsRating: The video's Canadian Home Video Rating System (CHVRS) rating. // // Possible values: // "chvrsUnspecified" // "chvrsG" - G // "chvrsPg" - PG // "chvrs14a" - 14A // "chvrs18a" - 18A // "chvrsR" - R // "chvrsE" - E // "chvrsUnrated" ChvrsRating string `json:"chvrsRating,omitempty"` // CicfRating: The video's rating from the Commission de Contrôle des Films // (Belgium). // // Possible values: // "cicfUnspecified" // "cicfE" - E // "cicfKtEa" - KT/EA // "cicfKntEna" - KNT/ENA // "cicfUnrated" CicfRating string `json:"cicfRating,omitempty"` // CnaRating: The video's rating from Romania's CONSILIUL NATIONAL AL // AUDIOVIZUALULUI (CNA). // // Possible values: // "cnaUnspecified" // "cnaAp" - AP // "cna12" - 12 // "cna15" - 15 // "cna18" - 18 // "cna18plus" - 18+ // "cnaUnrated" CnaRating string `json:"cnaRating,omitempty"` // CncRating: Rating system in France - Commission de classification // cinematographique // // Possible values: // "cncUnspecified" // "cncT" - T // "cnc10" - 10 // "cnc12" - 12 // "cnc16" - 16 // "cnc18" - 18 // "cncE" - E // "cncInterdiction" - interdiction // "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: // "csaUnspecified" // "csaT" - T // "csa10" - 10 // "csa12" - 12 // "csa16" - 16 // "csa18" - 18 // "csaInterdiction" - Interdiction // "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: // "cscfUnspecified" // "cscfAl" - AL // "cscfA" - A // "cscf6" - 6 // "cscf9" - 9 // "cscf12" - 12 // "cscf16" - 16 // "cscf18" - 18 // "cscfUnrated" CscfRating string `json:"cscfRating,omitempty"` // CzfilmRating: The video's rating in the Czech Republic. // // Possible values: // "czfilmUnspecified" // "czfilmU" - U // "czfilm12" - 12 // "czfilm14" - 14 // "czfilm18" - 18 // "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: // "djctqUnspecified" // "djctqL" - L // "djctq10" - 10 // "djctq12" - 12 // "djctq14" - 14 // "djctq16" - 16 // "djctq18" - 18 // "djctqEr" // "djctqL10" // "djctqL12" // "djctqL14" // "djctqL16" // "djctqL18" // "djctq1012" // "djctq1014" // "djctq1016" // "djctq1018" // "djctq1214" // "djctq1216" // "djctq1218" // "djctq1416" // "djctq1418" // "djctq1618" // "djctqUnrated" DjctqRating string `json:"djctqRating,omitempty"` // DjctqRatingReasons: Reasons that explain why the video received its DJCQT // (Brazil) rating. // // Possible values: // "djctqRatingReasonUnspecified" // "djctqViolence" - Brazil rating content descriptors. See // http://go/brazilratings section F. Violência (Violence) // "djctqExtremeViolence" - Violência extrema (Extreme violence) // "djctqSexualContent" - Conteúdo sexual (Sexual content) // "djctqNudity" - Nudez (Nudity) // "djctqSex" - Sexo (Sex) // "djctqExplicitSex" - Sexo Explícito (Explicit sex) // "djctqDrugs" - Drogas (Drugs) // "djctqLegalDrugs" - Drogas Lícitas (Legal drugs) // "djctqIllegalDrugs" - Drogas Ilícitas (Illegal drugs) // "djctqInappropriateLanguage" - Linguagem Imprópria (Inappropriate // language) // "djctqCriminalActs" - Atos Criminosos (Criminal Acts) // "djctqImpactingContent" - Conteúdo Impactante (Impacting content) DjctqRatingReasons []string `json:"djctqRatingReasons,omitempty"` // EcbmctRating: Rating system in Turkey - Evaluation and Classification Board // of the Ministry of Culture and Tourism // // Possible values: // "ecbmctUnspecified" // "ecbmctG" - G // "ecbmct7a" - 7A // "ecbmct7plus" - 7+ // "ecbmct13a" - 13A // "ecbmct13plus" - 13+ // "ecbmct15a" - 15A // "ecbmct15plus" - 15+ // "ecbmct18plus" - 18+ // "ecbmctUnrated" EcbmctRating string `json:"ecbmctRating,omitempty"` // EefilmRating: The video's rating in Estonia. // // Possible values: // "eefilmUnspecified" // "eefilmPere" - Pere // "eefilmL" - L // "eefilmMs6" - MS-6 // "eefilmK6" - K-6 // "eefilmMs12" - MS-12 // "eefilmK12" - K-12 // "eefilmK14" - K-14 // "eefilmK16" - K-16 // "eefilmUnrated" EefilmRating string `json:"eefilmRating,omitempty"` // EgfilmRating: The video's rating in Egypt. // // Possible values: // "egfilmUnspecified" // "egfilmGn" - GN // "egfilm18" - 18 // "egfilmBn" - BN // "egfilmUnrated" EgfilmRating string `json:"egfilmRating,omitempty"` // EirinRating: The video's Eirin (映倫) rating. Eirin is the Japanese rating // system. // // Possible values: // "eirinUnspecified" // "eirinG" - G // "eirinPg12" - PG-12 // "eirinR15plus" - R15+ // "eirinR18plus" - R18+ // "eirinUnrated" EirinRating string `json:"eirinRating,omitempty"` // FcbmRating: The video's rating from Malaysia's Film Censorship Board. // // Possible values: // "fcbmUnspecified" // "fcbmU" - U // "fcbmPg13" - PG13 // "fcbmP13" - P13 // "fcbm18" - 18 // "fcbm18sx" - 18SX // "fcbm18pa" - 18PA // "fcbm18sg" - 18SG // "fcbm18pl" - 18PL // "fcbmUnrated" FcbmRating string `json:"fcbmRating,omitempty"` // FcoRating: The video's rating from Hong Kong's Office for Film, Newspaper // and Article Administration. // // Possible values: // "fcoUnspecified" // "fcoI" - I // "fcoIia" - IIA // "fcoIib" - IIB // "fcoIi" - II // "fcoIii" - III // "fcoUnrated" FcoRating string `json:"fcoRating,omitempty"` // FmocRating: This property has been deprecated. Use the // contentDetails.contentRating.cncRating instead. // // Possible values: // "fmocUnspecified" // "fmocU" - U // "fmoc10" - 10 // "fmoc12" - 12 // "fmoc16" - 16 // "fmoc18" - 18 // "fmocE" - E // "fmocUnrated" FmocRating string `json:"fmocRating,omitempty"` // FpbRating: The video's rating from South Africa's Film and Publication // Board. // // Possible values: // "fpbUnspecified" // "fpbA" - A // "fpbPg" - PG // "fpb79Pg" - 7-9PG // "fpb1012Pg" - 10-12PG // "fpb13" - 13 // "fpb16" - 16 // "fpb18" - 18 // "fpbX18" - X18 // "fpbXx" - XX // "fpbUnrated" // "fpb10" - 10 FpbRating string `json:"fpbRating,omitempty"` // FpbRatingReasons: Reasons that explain why the video received its FPB (South // Africa) rating. // // Possible values: // "fpbRatingReasonUnspecified" // "fpbBlasphemy" - South Africa rating content descriptors. // "fpbLanguage" // "fpbNudity" // "fpbPrejudice" // "fpbSex" // "fpbViolence" // "fpbDrugs" // "fpbSexualViolence" // "fpbHorror" // "fpbCriminalTechniques" // "fpbImitativeActsTechniques" FpbRatingReasons []string `json:"fpbRatingReasons,omitempty"` // FskRating: The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK - // Germany) rating. // // Possible values: // "fskUnspecified" // "fsk0" - FSK 0 // "fsk6" - FSK 6 // "fsk12" - FSK 12 // "fsk16" - FSK 16 // "fsk18" - FSK 18 // "fskUnrated" FskRating string `json:"fskRating,omitempty"` // GrfilmRating: The video's rating in Greece. // // Possible values: // "grfilmUnspecified" // "grfilmK" - K // "grfilmE" - E // "grfilmK12" - K-12 // "grfilmK13" - K-13 // "grfilmK15" - K-15 // "grfilmK17" - K-17 // "grfilmK18" - K-18 // "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: // "icaaUnspecified" // "icaaApta" - APTA // "icaa7" - 7 // "icaa12" - 12 // "icaa13" - 13 // "icaa16" - 16 // "icaa18" - 18 // "icaaX" - X // "icaaUnrated" 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: // "ifcoUnspecified" // "ifcoG" - G // "ifcoPg" - PG // "ifco12" - 12 // "ifco12a" - 12A // "ifco15" - 15 // "ifco15a" - 15A // "ifco16" - 16 // "ifco18" - 18 // "ifcoUnrated" IfcoRating string `json:"ifcoRating,omitempty"` // IlfilmRating: The video's rating in Israel. // // Possible values: // "ilfilmUnspecified" // "ilfilmAa" - AA // "ilfilm12" - 12 // "ilfilm14" - 14 // "ilfilm16" - 16 // "ilfilm18" - 18 // "ilfilmUnrated" IlfilmRating string `json:"ilfilmRating,omitempty"` // IncaaRating: The video's INCAA (Instituto Nacional de Cine y Artes // Audiovisuales - Argentina) rating. // // Possible values: // "incaaUnspecified" // "incaaAtp" - ATP (Apta para todo publico) // "incaaSam13" - 13 (Solo apta para mayores de 13 años) // "incaaSam16" - 16 (Solo apta para mayores de 16 años) // "incaaSam18" - 18 (Solo apta para mayores de 18 años) // "incaaC" - X (Solo apta para mayores de 18 años, de exhibición // condicionada) // "incaaUnrated" IncaaRating string `json:"incaaRating,omitempty"` // KfcbRating: The video's rating from the Kenya Film Classification Board. // // Possible values: // "kfcbUnspecified" // "kfcbG" - GE // "kfcbPg" - PG // "kfcb16plus" - 16 // "kfcbR" - 18 // "kfcbUnrated" KfcbRating string `json:"kfcbRating,omitempty"` // KijkwijzerRating: The video's NICAM/Kijkwijzer rating from the Nederlands // Instituut voor de Classificatie van Audiovisuele Media (Netherlands). // // Possible values: // "kijkwijzerUnspecified" // "kijkwijzerAl" - AL // "kijkwijzer6" - 6 // "kijkwijzer9" - 9 // "kijkwijzer12" - 12 // "kijkwijzer16" - 16 // "kijkwijzer18" // "kijkwijzerUnrated" KijkwijzerRating string `json:"kijkwijzerRating,omitempty"` // KmrbRating: The video's Korea Media Rating Board (영상물등급위원회) // rating. The KMRB rates videos in South Korea. // // Possible values: // "kmrbUnspecified" // "kmrbAll" - 전체관람가 // "kmrb12plus" - 12세 이상 관람가 // "kmrb15plus" - 15세 이상 관람가 // "kmrbTeenr" // "kmrbR" - 청소년 관람불가 // "kmrbUnrated" KmrbRating string `json:"kmrbRating,omitempty"` // LsfRating: The video's rating from Indonesia's Lembaga Sensor Film. // // Possible values: // "lsfUnspecified" // "lsfSu" - SU // "lsfA" - A // "lsfBo" - BO // "lsf13" - 13 // "lsfR" - R // "lsf17" - 17 // "lsfD" - D // "lsf21" - 21 // "lsfUnrated" LsfRating string `json:"lsfRating,omitempty"` // MccaaRating: The video's rating from Malta's Film Age-Classification Board. // // Possible values: // "mccaaUnspecified" // "mccaaU" - U // "mccaaPg" - PG // "mccaa12a" - 12A // "mccaa12" - 12 // "mccaa14" - 14 - this rating was removed from the new classification // structure introduced in 2013. // "mccaa15" - 15 // "mccaa16" - 16 - this rating was removed from the new classification // structure introduced in 2013. // "mccaa18" - 18 // "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: // "mccypUnspecified" // "mccypA" - A // "mccyp7" - 7 // "mccyp11" - 11 // "mccyp15" - 15 // "mccypUnrated" MccypRating string `json:"mccypRating,omitempty"` // McstRating: The video's rating system for Vietnam - MCST // // Possible values: // "mcstUnspecified" // "mcstP" - P // "mcst0" - 0 // "mcstC13" - C13 // "mcstC16" - C16 // "mcst16plus" - 16+ // "mcstC18" - C18 // "mcstGPg" - MCST_G_PG // "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: // "mdaUnspecified" // "mdaG" - G // "mdaPg" - PG // "mdaPg13" - PG13 // "mdaNc16" - NC16 // "mdaM18" - M18 // "mdaR21" - R21 // "mdaUnrated" MdaRating string `json:"mdaRating,omitempty"` // MedietilsynetRating: The video's rating from Medietilsynet, the Norwegian // Media Authority. // // Possible values: // "medietilsynetUnspecified" // "medietilsynetA" - A // "medietilsynet6" - 6 // "medietilsynet7" - 7 // "medietilsynet9" - 9 // "medietilsynet11" - 11 // "medietilsynet12" - 12 // "medietilsynet15" - 15 // "medietilsynet18" - 18 // "medietilsynetUnrated" MedietilsynetRating string `json:"medietilsynetRating,omitempty"` // MekuRating: The video's rating from Finland's Kansallinen Audiovisuaalinen // Instituutti (National Audiovisual Institute). // // Possible values: // "mekuUnspecified" // "mekuS" - S // "meku7" - 7 // "meku12" - 12 // "meku16" - 16 // "meku18" - 18 // "mekuUnrated" MekuRating string `json:"mekuRating,omitempty"` // MenaMpaaRating: The rating system for MENA countries, a clone of MPAA. It is // needed to prevent titles go live w/o additional QC check, since some of them // can be inappropriate for the countries at all. See b/33408548 for more // details. // // Possible values: // "menaMpaaUnspecified" // "menaMpaaG" - G // "menaMpaaPg" - PG // "menaMpaaPg13" - PG-13 // "menaMpaaR" - R // "menaMpaaUnrated" - To keep the same enum values as MPAA's items have, // skip NC_17. 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: // "mibacUnspecified" // "mibacT" // "mibacVap" // "mibacVm6" // "mibacVm12" // "mibacVm14" // "mibacVm16" // "mibacVm18" // "mibacUnrated" MibacRating string `json:"mibacRating,omitempty"` // MocRating: The video's Ministerio de Cultura (Colombia) rating. // // Possible values: // "mocUnspecified" // "mocE" - E // "mocT" - T // "moc7" - 7 // "moc12" - 12 // "moc15" - 15 // "moc18" - 18 // "mocX" - X // "mocBanned" - Banned // "mocUnrated" MocRating string `json:"mocRating,omitempty"` // MoctwRating: The video's rating from Taiwan's Ministry of Culture // (文化部). // // Possible values: // "moctwUnspecified" // "moctwG" - G // "moctwP" - P // "moctwPg" - PG // "moctwR" - R // "moctwUnrated" // "moctwR12" - R-12 // "moctwR15" - R-15 MoctwRating string `json:"moctwRating,omitempty"` // MpaaRating: The video's Motion Picture Association of America (MPAA) rating. // // Possible values: // "mpaaUnspecified" // "mpaaG" - G // "mpaaPg" - PG // "mpaaPg13" - PG-13 // "mpaaR" - R // "mpaaNc17" - NC-17 // "mpaaX" - ! X // "mpaaUnrated" 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: // "mpaatUnspecified" // "mpaatGb" - GB // "mpaatRb" - RB MpaatRating string `json:"mpaatRating,omitempty"` // MtrcbRating: The video's rating from the Movie and Television Review and // Classification Board (Philippines). // // Possible values: // "mtrcbUnspecified" // "mtrcbG" - G // "mtrcbPg" - PG // "mtrcbR13" - R-13 // "mtrcbR16" - R-16 // "mtrcbR18" - R-18 // "mtrcbX" - X // "mtrcbUnrated" MtrcbRating string `json:"mtrcbRating,omitempty"` // NbcRating: The video's rating from the Maldives National Bureau of // Classification. // // Possible values: // "nbcUnspecified" // "nbcG" - G // "nbcPg" - PG // "nbc12plus" - 12+ // "nbc15plus" - 15+ // "nbc18plus" - 18+ // "nbc18plusr" - 18+R // "nbcPu" - PU // "nbcUnrated" NbcRating string `json:"nbcRating,omitempty"` // NbcplRating: The video's rating in Poland. // // Possible values: // "nbcplUnspecified" // "nbcplI" // "nbcplIi" // "nbcplIii" // "nbcplIv" // "nbcpl18plus" // "nbcplUnrated" NbcplRating string `json:"nbcplRating,omitempty"` // NfrcRating: The video's rating from the Bulgarian National Film Center. // // Possible values: // "nfrcUnspecified" // "nfrcA" - A // "nfrcB" - B // "nfrcC" - C // "nfrcD" - D // "nfrcX" - X // "nfrcUnrated" NfrcRating string `json:"nfrcRating,omitempty"` // NfvcbRating: The video's rating from Nigeria's National Film and Video // Censors Board. // // Possible values: // "nfvcbUnspecified" // "nfvcbG" - G // "nfvcbPg" - PG // "nfvcb12" - 12 // "nfvcb12a" - 12A // "nfvcb15" - 15 // "nfvcb18" - 18 // "nfvcbRe" - RE // "nfvcbUnrated" NfvcbRating string `json:"nfvcbRating,omitempty"` // NkclvRating: The video's rating from the Nacionãlais Kino centrs (National // Film Centre of Latvia). // // Possible values: // "nkclvUnspecified" // "nkclvU" - U // "nkclv7plus" - 7+ // "nkclv12plus" - 12+ // "nkclv16plus" - ! 16+ // "nkclv18plus" - 18+ // "nkclvUnrated" NkclvRating string `json:"nkclvRating,omitempty"` // NmcRating: The National Media Council ratings system for United Arab // Emirates. // // Possible values: // "nmcUnspecified" // "nmcG" - G // "nmcPg" - PG // "nmcPg13" - PG-13 // "nmcPg15" - PG-15 // "nmc15plus" - 15+ // "nmc18plus" - 18+ // "nmc18tc" - 18TC // "nmcUnrated" NmcRating string `json:"nmcRating,omitempty"` // OflcRating: The video's Office of Film and Literature Classification (OFLC - // New Zealand) rating. // // Possible values: // "oflcUnspecified" // "oflcG" - G // "oflcPg" - PG // "oflcM" - M // "oflcR13" - R13 // "oflcR15" - R15 // "oflcR16" - R16 // "oflcR18" - R18 // "oflcUnrated" // "oflcRp13" - RP13 // "oflcRp16" - RP16 // "oflcRp18" - RP18 OflcRating string `json:"oflcRating,omitempty"` // PefilmRating: The video's rating in Peru. // // Possible values: // "pefilmUnspecified" // "pefilmPt" - PT // "pefilmPg" - PG // "pefilm14" - 14 // "pefilm18" - 18 // "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: // "rcnofUnspecified" // "rcnofI" // "rcnofIi" // "rcnofIii" // "rcnofIv" // "rcnofV" // "rcnofVi" // "rcnofUnrated" RcnofRating string `json:"rcnofRating,omitempty"` // ResorteviolenciaRating: The video's rating in Venezuela. // // Possible values: // "resorteviolenciaUnspecified" // "resorteviolenciaA" - A // "resorteviolenciaB" - B // "resorteviolenciaC" - C // "resorteviolenciaD" - D // "resorteviolenciaE" - E // "resorteviolenciaUnrated" ResorteviolenciaRating string `json:"resorteviolenciaRating,omitempty"` // RtcRating: The video's General Directorate of Radio, Television and // Cinematography (Mexico) rating. // // Possible values: // "rtcUnspecified" // "rtcAa" - AA // "rtcA" - A // "rtcB" - B // "rtcB15" - B15 // "rtcC" - C // "rtcD" - D // "rtcUnrated" RtcRating string `json:"rtcRating,omitempty"` // RteRating: The video's rating from Ireland's Raidió Teilifís Éireann. // // Possible values: // "rteUnspecified" // "rteGa" - GA // "rteCh" - CH // "rtePs" - PS // "rteMa" - MA // "rteUnrated" RteRating string `json:"rteRating,omitempty"` // RussiaRating: The video's National Film Registry of the Russian Federation // (MKRF - Russia) rating. // // Possible values: // "russiaUnspecified" // "russia0" - 0+ // "russia6" - 6+ // "russia12" - 12+ // "russia16" - 16+ // "russia18" - 18+ // "russiaUnrated" RussiaRating string `json:"russiaRating,omitempty"` // SkfilmRating: The video's rating in Slovakia. // // Possible values: // "skfilmUnspecified" // "skfilmG" - G // "skfilmP2" - P2 // "skfilmP5" - P5 // "skfilmP8" - P8 // "skfilmUnrated" SkfilmRating string `json:"skfilmRating,omitempty"` // SmaisRating: The video's rating in Iceland. // // Possible values: // "smaisUnspecified" // "smaisL" - L // "smais7" - 7 // "smais12" - 12 // "smais14" - 14 // "smais16" - 16 // "smais18" - 18 // "smaisUnrated" SmaisRating string `json:"smaisRating,omitempty"` // SmsaRating: The video's rating from Statens medieråd (Sweden's National // Media Council). // // Possible values: // "smsaUnspecified" // "smsaA" - All ages // "smsa7" - 7 // "smsa11" - 11 // "smsa15" - 15 // "smsaUnrated" SmsaRating string `json:"smsaRating,omitempty"` // TvpgRating: The video's TV Parental Guidelines (TVPG) rating. // // Possible values: // "tvpgUnspecified" // "tvpgY" - TV-Y // "tvpgY7" - TV-Y7 // "tvpgY7Fv" - TV-Y7-FV // "tvpgG" - TV-G // "tvpgPg" - TV-PG // "pg14" - TV-14 // "tvpgMa" - TV-MA // "tvpgUnrated" TvpgRating string `json:"tvpgRating,omitempty"` // YtRating: A rating that YouTube uses to identify age-restricted content. // // Possible values: // "ytUnspecified" // "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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentRating) MarshalJSON() ([]byte, error) { type NoMethod ContentRating return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Cuepoint: Note that there may be a 5-second end-point resolution issue. For // instance, if a cuepoint comes in for 22:03:27, we may stuff the cuepoint // into 22:03:25 or 22:03:30, depending. This is an artifact of HLS. type Cuepoint struct { // Possible values: // "cueTypeUnspecified" // "cueTypeAd" CueType string `json:"cueType,omitempty"` // DurationSecs: The duration of this cuepoint. DurationSecs int64 `json:"durationSecs,omitempty"` Etag string `json:"etag,omitempty"` // Id: The identifier for cuepoint resource. Id string `json:"id,omitempty"` // InsertionOffsetTimeMs: The time when the cuepoint should be inserted by // offset to the broadcast actual start time. InsertionOffsetTimeMs int64 `json:"insertionOffsetTimeMs,omitempty,string"` // WalltimeMs: The wall clock time at which the cuepoint should be inserted. // Only one of insertion_offset_time_ms and walltime_ms may be set at a time. WalltimeMs uint64 `json:"walltimeMs,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CueType") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CueType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Cuepoint) MarshalJSON() ([]byte, error) { type NoMethod Cuepoint return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CuepointSchedule: Schedule to insert cuepoints into a broadcast by ads // automator. type CuepointSchedule struct { // Enabled: This field is semantically required. If it is set false or not set, // other fields in this message will be ignored. Enabled bool `json:"enabled,omitempty"` // PauseAdsUntil: If set, automatic cuepoint insertion is paused until this // timestamp ("No Ad Zone"). The value is specified in ISO 8601 format. PauseAdsUntil string `json:"pauseAdsUntil,omitempty"` // RepeatIntervalSecs: Interval frequency in seconds that api uses to insert // cuepoints automatically. RepeatIntervalSecs int64 `json:"repeatIntervalSecs,omitempty"` // ScheduleStrategy: The strategy to use when scheduling cuepoints. // // Possible values: // "scheduleStrategyUnspecified" // "concurrent" - Strategy to schedule cuepoints at one time for all viewers. // "nonConcurrent" - Strategy to schedule cuepoints at an increased rate to // allow viewers to receive cuepoints when eligible. See // go/lcr-non-concurrent-ads for more details. ScheduleStrategy string `json:"scheduleStrategy,omitempty"` // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Enabled") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CuepointSchedule) MarshalJSON() ([]byte, error) { type NoMethod CuepointSchedule return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type Entity struct { Id string `json:"id,omitempty"` TypeId string `json:"typeId,omitempty"` Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Entity) MarshalJSON() ([]byte, error) { type NoMethod Entity return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GeoPoint) MarshalJSON() ([]byte, error) { type NoMethod GeoPoint return gensupport.MarshalJSON(NoMethod(*s), 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 } // 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *I18nLanguage) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguage return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *I18nLanguageListResponse) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguageListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *I18nLanguageSnippet) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguageSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *I18nRegion) MarshalJSON() ([]byte, error) { type NoMethod I18nRegion return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *I18nRegionListResponse) MarshalJSON() ([]byte, error) { type NoMethod I18nRegionListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *I18nRegionSnippet) MarshalJSON() ([]byte, error) { type NoMethod I18nRegionSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 generated when a ChannelBanner.Insert request has // succeeded for the given channel. 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. // 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. 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 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ImageSettings) MarshalJSON() ([]byte, error) { type NoMethod ImageSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // IngestionInfo: Describes information necessary for ingesting an RTMP, HTTP, // or SRT 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"` // RtmpsBackupIngestionAddress: This ingestion url may be used instead of // backupIngestionAddress in order to stream via RTMPS. Not applicable to // non-RTMP streams. RtmpsBackupIngestionAddress string `json:"rtmpsBackupIngestionAddress,omitempty"` // RtmpsIngestionAddress: This ingestion url may be used instead of // ingestionAddress in order to stream via RTMPS. Not applicable to non-RTMP // streams. RtmpsIngestionAddress string `json:"rtmpsIngestionAddress,omitempty"` // StreamName: The 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *IngestionInfo) MarshalJSON() ([]byte, error) { type NoMethod IngestionInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // InvideoBranding: LINT.IfChange Describes an invideo branding. type InvideoBranding struct { // ImageBytes: The bytes the uploaded image. Only used in api to youtube // communication. ImageBytes string `json:"imageBytes,omitempty"` // ImageUrl: The url of the uploaded image. Only used in apiary to api // communication. ImageUrl string `json:"imageUrl,omitempty"` // Position: The spatial position within the video where the branding watermark // will be displayed. Position *InvideoPosition `json:"position,omitempty"` // TargetChannelId: The channel to which this branding links. If not present it // defaults to the current channel. TargetChannelId string `json:"targetChannelId,omitempty"` // Timing: The temporal position within the video where watermark will be // displayed. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InvideoBranding) MarshalJSON() ([]byte, error) { type NoMethod InvideoBranding return gensupport.MarshalJSON(NoMethod(*s), 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: // "topLeft" // "topRight" // "bottomLeft" // "bottomRight" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InvideoPosition) MarshalJSON() ([]byte, error) { type NoMethod InvideoPosition return gensupport.MarshalJSON(NoMethod(*s), 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: // "offsetFromStart" // "offsetFromEnd" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InvideoTiming) MarshalJSON() ([]byte, error) { type NoMethod InvideoTiming return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LanguageTag) MarshalJSON() ([]byte, error) { type NoMethod LanguageTag return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LevelDetails struct { // DisplayName: The name that should be used when referring to this level. DisplayName string `json:"displayName,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LevelDetails) MarshalJSON() ([]byte, error) { type NoMethod LevelDetails return gensupport.MarshalJSON(NoMethod(*s), 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"` // MonetizationDetails: The monetizationDetails object contains information // about the event's monetization details. MonetizationDetails *LiveBroadcastMonetizationDetails `json:"monetizationDetails,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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcast) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcast return gensupport.MarshalJSON(NoMethod(*s), 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: // "closedCaptionsTypeUnspecified" // "closedCaptionsDisabled" // "closedCaptionsHttpPost" // "closedCaptionsEmbedded" ClosedCaptionsType string `json:"closedCaptionsType,omitempty"` // EnableAutoStart: This setting indicates whether auto start is enabled for // this broadcast. The default value for this property is false. This setting // can only be used by Events. EnableAutoStart bool `json:"enableAutoStart,omitempty"` // EnableAutoStop: This setting indicates whether auto stop is enabled for this // broadcast. The default value for this property is false. This setting can // only be used by Events. EnableAutoStop bool `json:"enableAutoStop,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: // "latencyPreferenceUnspecified" // "normal" - Best for: highest quality viewer playbacks and higher // resolutions. // "low" - Best for: near real-time interaction, with minimal playback // buffering. // "ultraLow" - Best for: real-time interaction Does not support: Closed // captions, 1440p, and 4k resolutions LatencyPreference string `json:"latencyPreference,omitempty"` // Mesh: The mesh for projecting the video if projection is mesh. The mesh // value must be a UTF-8 string containing the base-64 encoding of 3D mesh data // that follows the Spherical Video V2 RFC specification for an mshp box, // excluding the box size and type but including the following four reserved // zero bytes for the version and flags. 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: // "projectionUnspecified" // "rectangular" // "360" // "mesh" 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"` // StereoLayout: The 3D stereo layout of this broadcast. This defaults to mono. // // Possible values: // "stereoLayoutUnspecified" // "mono" // "leftRight" // "topBottom" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcastContentDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastContentDetails return gensupport.MarshalJSON(NoMethod(*s), 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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcastListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LiveBroadcastMonetizationDetails: Monetization settings of a broadcast. type LiveBroadcastMonetizationDetails struct { CuepointSchedule *CuepointSchedule `json:"cuepointSchedule,omitempty"` // ForceSendFields is a list of field names (e.g. "CuepointSchedule") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CuepointSchedule") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcastMonetizationDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastMonetizationDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LiveBroadcastSnippet: Basic broadcast information. 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. 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. 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: Indicates whether this broadcast is the default // broadcast. Internal only. 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. PublishedAt string `json:"publishedAt,omitempty"` // ScheduledEndTime: The date and time that the broadcast is scheduled to end. ScheduledEndTime string `json:"scheduledEndTime,omitempty"` // ScheduledStartTime: The date and time that the broadcast is scheduled to // start. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcastSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastSnippet return gensupport.MarshalJSON(NoMethod(*s), 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"` // ForceSendFields is a list of field names (e.g. "ConcurrentViewers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcastStatistics) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastStatistics return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LiveBroadcastStatus: Live broadcast state. type LiveBroadcastStatus struct { // LifeCycleStatus: The broadcast's status. The status can be updated using the // API's liveBroadcasts.transition method. // // Possible values: // "lifeCycleStatusUnspecified" - No value or the value is unknown. // "created" - Incomplete settings, but otherwise valid // "ready" - Complete settings // "testing" - Visible only to partner, may need special UI treatment // "live" - Viper is recording; this means the "clock" is running // "complete" - The broadcast is finished. // "revoked" - This broadcast was removed by admin action // "testStarting" - Transition into TESTING has been requested // "liveStarting" - Transition into LIVE has been requested LifeCycleStatus string `json:"lifeCycleStatus,omitempty"` // LiveBroadcastPriority: Priority of the live broadcast event (internal // state). // // Possible values: // "liveBroadcastPriorityUnspecified" // "low" - Low priority broadcast: for low view count HoAs or other low // priority broadcasts. // "normal" - Normal priority broadcast: for regular HoAs and broadcasts. // "high" - High priority broadcast: for high profile HoAs, like PixelCorp // ones. LiveBroadcastPriority string `json:"liveBroadcastPriority,omitempty"` // MadeForKids: Whether the broadcast is made for kids or not, decided by // YouTube instead of the creator. This field is read only. MadeForKids bool `json:"madeForKids,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: // "public" // "unlisted" // "private" PrivacyStatus string `json:"privacyStatus,omitempty"` // RecordingStatus: The broadcast's recording status. // // Possible values: // "liveBroadcastRecordingStatusUnspecified" - No value or the value is // unknown. // "notRecording" - The recording has not yet been started. // "recording" - The recording is currently on. // "recorded" - The recording is completed, and cannot be started again. RecordingStatus string `json:"recordingStatus,omitempty"` // SelfDeclaredMadeForKids: This field will be set to True if the creator // declares the broadcast to be kids only: go/live-cw-work. SelfDeclaredMadeForKids bool `json:"selfDeclaredMadeForKids,omitempty"` // ForceSendFields is a list of field names (e.g. "LifeCycleStatus") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveBroadcastStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastStatus return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatBan) MarshalJSON() ([]byte, error) { type NoMethod LiveChatBan return gensupport.MarshalJSON(NoMethod(*s), 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: // "liveChatBanTypeUnspecified" - An invalid ban type. // "permanent" - A permanent ban. // "temporary" - A temporary ban. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatBanSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatBanSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatFanFundingEventDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatFanFundingEventDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatGiftMembershipReceivedDetails struct { // AssociatedMembershipGiftingMessageId: The ID of the membership gifting // message that is related to this gift membership. This ID will always refer // to a message whose type is 'membershipGiftingEvent'. AssociatedMembershipGiftingMessageId string `json:"associatedMembershipGiftingMessageId,omitempty"` // GifterChannelId: The ID of the user that made the membership gifting // purchase. This matches the `snippet.authorChannelId` of the associated // membership gifting message. GifterChannelId string `json:"gifterChannelId,omitempty"` // MemberLevelName: The name of the Level at which the viewer is a member. This // matches the `snippet.membershipGiftingDetails.giftMembershipsLevelName` of // the associated membership gifting message. The Level names are defined by // the YouTube channel offering the Membership. In some situations this field // isn't filled. MemberLevelName string `json:"memberLevelName,omitempty"` // ForceSendFields is a list of field names (e.g. // "AssociatedMembershipGiftingMessageId") to unconditionally include in API // requests. By default, fields with empty or default values are omitted from // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "AssociatedMembershipGiftingMessageId") to include in API requests with the // JSON null value. By default, fields with empty values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for // more details. NullFields []string `json:"-"` } func (s *LiveChatGiftMembershipReceivedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatGiftMembershipReceivedDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatMemberMilestoneChatDetails struct { // MemberLevelName: The name of the Level at which the viever is a member. The // Level names are defined by the YouTube channel offering the Membership. In // some situations this field isn't filled. MemberLevelName string `json:"memberLevelName,omitempty"` // MemberMonth: The total amount of months (rounded up) the viewer has been a // member that granted them this Member Milestone Chat. This is the same number // of months as is being displayed to YouTube users. MemberMonth int64 `json:"memberMonth,omitempty"` // UserComment: The comment added by the member to this Member Milestone Chat. // This field is empty for messages without a comment from the member. UserComment string `json:"userComment,omitempty"` // ForceSendFields is a list of field names (e.g. "MemberLevelName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MemberLevelName") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMemberMilestoneChatDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMemberMilestoneChatDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatMembershipGiftingDetails struct { // GiftMembershipsCount: The number of gift memberships purchased by the user. GiftMembershipsCount int64 `json:"giftMembershipsCount,omitempty"` // GiftMembershipsLevelName: The name of the level of the gift memberships // purchased by the user. The Level names are defined by the YouTube channel // offering the Membership. In some situations this field isn't filled. GiftMembershipsLevelName string `json:"giftMembershipsLevelName,omitempty"` // ForceSendFields is a list of field names (e.g. "GiftMembershipsCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GiftMembershipsCount") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMembershipGiftingDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMembershipGiftingDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMessage) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessage return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMessageAuthorDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageAuthorDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMessageDeletedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageDeletedDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatMessageListResponse struct { // ActivePollItem: Set when there is an active poll. ActivePollItem *LiveChatMessage `json:"activePollItem,omitempty"` // 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 []*LiveChatMessage `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#liveChatMessageListResponse". Kind string `json:"kind,omitempty"` NextPageToken string `json:"nextPageToken,omitempty"` // OfflineAt: The date and time when the underlying stream went offline. OfflineAt string `json:"offlineAt,omitempty"` // PageInfo: General pagination information. 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. "ActivePollItem") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActivePollItem") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMessageListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMessageRetractedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageRetractedDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LiveChatMessageSnippet: Next ID: 34 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 memberMilestoneChatEvent - the member that // sent the message membershipGiftingEvent - the user that made the purchase // giftMembershipReceivedEvent - the user that received the gift membership // 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 superStickerEvent - the user that made the // purchase pollEvent - the user that created the poll 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"` // GiftMembershipReceivedDetails: Details about the Gift Membership Received // event, this is only set if the type is 'giftMembershipReceivedEvent'. GiftMembershipReceivedDetails *LiveChatGiftMembershipReceivedDetails `json:"giftMembershipReceivedDetails,omitempty"` // HasDisplayContent: Whether the message has display content that should be // displayed to users. HasDisplayContent bool `json:"hasDisplayContent,omitempty"` LiveChatId string `json:"liveChatId,omitempty"` // MemberMilestoneChatDetails: Details about the Member Milestone Chat event, // this is only set if the type is 'memberMilestoneChatEvent'. MemberMilestoneChatDetails *LiveChatMemberMilestoneChatDetails `json:"memberMilestoneChatDetails,omitempty"` // MembershipGiftingDetails: Details about the Membership Gifting event, this // is only set if the type is 'membershipGiftingEvent'. MembershipGiftingDetails *LiveChatMembershipGiftingDetails `json:"membershipGiftingDetails,omitempty"` MessageDeletedDetails *LiveChatMessageDeletedDetails `json:"messageDeletedDetails,omitempty"` MessageRetractedDetails *LiveChatMessageRetractedDetails `json:"messageRetractedDetails,omitempty"` // NewSponsorDetails: Details about the New Member Announcement event, this is // only set if the type is 'newSponsorEvent'. Please note that "member" is the // new term for "sponsor". NewSponsorDetails *LiveChatNewSponsorDetails `json:"newSponsorDetails,omitempty"` // PollDetails: Details about the poll event, this is only set if the type is // 'pollEvent'. PollDetails *LiveChatPollDetails `json:"pollDetails,omitempty"` // PublishedAt: The date and time when the message was orignally published. 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: // "invalidType" // "textMessageEvent" // "tombstone" // "fanFundingEvent" // "chatEndedEvent" // "sponsorOnlyModeStartedEvent" // "sponsorOnlyModeEndedEvent" // "newSponsorEvent" // "memberMilestoneChatEvent" // "membershipGiftingEvent" // "giftMembershipReceivedEvent" // "messageDeletedEvent" // "messageRetractedEvent" // "userBannedEvent" // "superChatEvent" // "superStickerEvent" // "pollEvent" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatMessageSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatModerator) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModerator return gensupport.MarshalJSON(NoMethod(*s), 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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatModeratorListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModeratorListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatModeratorSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModeratorSnippet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatNewSponsorDetails struct { // IsUpgrade: If the viewer just had upgraded from a lower level. For viewers // that were not members at the time of purchase, this field is false. IsUpgrade bool `json:"isUpgrade,omitempty"` // MemberLevelName: The name of the Level that the viewer just had joined. The // Level names are defined by the YouTube channel offering the Membership. In // some situations this field isn't filled. MemberLevelName string `json:"memberLevelName,omitempty"` // ForceSendFields is a list of field names (e.g. "IsUpgrade") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IsUpgrade") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatNewSponsorDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatNewSponsorDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatPollDetails struct { Metadata *LiveChatPollDetailsPollMetadata `json:"metadata,omitempty"` // Possible values: // "unknown" // "active" // "closed" Status string `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "Metadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Metadata") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatPollDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatPollDetailsPollMetadata struct { // Options: The options will be returned in the order that is displayed in 1P Options []*LiveChatPollDetailsPollMetadataPollOption `json:"options,omitempty"` QuestionText string `json:"questionText,omitempty"` // ForceSendFields is a list of field names (e.g. "Options") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Options") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatPollDetailsPollMetadata) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollDetailsPollMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LiveChatPollDetailsPollMetadataPollOption struct { OptionText string `json:"optionText,omitempty"` Tally int64 `json:"tally,omitempty,string"` // ForceSendFields is a list of field names (e.g. "OptionText") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "OptionText") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatPollDetailsPollMetadataPollOption) MarshalJSON() ([]byte, error) { type NoMethod LiveChatPollDetailsPollMetadataPollOption return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatSuperChatDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatSuperChatDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatSuperStickerDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatSuperStickerDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatTextMessageDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatTextMessageDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveChatUserBannedMessageDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatUserBannedMessageDetails return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStream) MarshalJSON() ([]byte, error) { type NoMethod LiveStream return gensupport.MarshalJSON(NoMethod(*s), 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: // "info" // "warning" // "error" Severity string `json:"severity,omitempty"` // Type: The kind of error happening. // // Possible values: // "gopSizeOver" // "gopSizeLong" // "gopSizeShort" // "openGop" // "badContainer" // "audioBitrateHigh" // "audioBitrateLow" // "audioSampleRate" // "bitrateHigh" // "bitrateLow" // "audioCodec" // "videoCodec" // "noAudioStream" // "noVideoStream" // "multipleVideoStreams" // "multipleAudioStreams" // "audioTooManyChannels" // "interlacedVideo" // "frameRateHigh" // "resolutionMismatch" // "videoCodecMismatch" // "videoInterlaceMismatch" // "videoProfileMismatch" // "videoBitrateMismatch" // "framerateMismatch" // "gopMismatch" // "audioSampleRateMismatch" // "audioStereoMismatch" // "audioCodecMismatch" // "audioBitrateMismatch" // "videoResolutionSuboptimal" // "videoResolutionUnsupported" // "videoIngestionStarved" // "videoIngestionFasterThanRealtime" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStreamConfigurationIssue) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamConfigurationIssue return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStreamContentDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamContentDetails return gensupport.MarshalJSON(NoMethod(*s), 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: // "good" // "ok" // "bad" // "noData" // "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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStreamHealthStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamHealthStatus return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStreamListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamListResponse return gensupport.MarshalJSON(NoMethod(*s), 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. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStreamSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamSnippet return gensupport.MarshalJSON(NoMethod(*s), 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: // "created" // "ready" // "active" // "inactive" // "error" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LiveStreamStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamStatus return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LocalizedProperty) MarshalJSON() ([]byte, error) { type NoMethod LocalizedProperty return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LocalizedString) MarshalJSON() ([]byte, error) { type NoMethod LocalizedString return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Member: A *member* resource represents a member for a YouTube channel. A // member provides recurring monetary support to a creator and receives special // benefits. type Member struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#member". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the member. Snippet *MemberSnippet `json:"snippet,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Member) MarshalJSON() ([]byte, error) { type NoMethod Member return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MemberListResponse 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 members that match the request criteria. Items []*Member `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#memberListResponse". 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MemberListResponse) MarshalJSON() ([]byte, error) { type NoMethod MemberListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MemberSnippet struct { // CreatorChannelId: The id of the channel that's offering memberships. CreatorChannelId string `json:"creatorChannelId,omitempty"` // MemberDetails: Details about the member. MemberDetails *ChannelProfileDetails `json:"memberDetails,omitempty"` // MembershipsDetails: Details about the user's membership. MembershipsDetails *MembershipsDetails `json:"membershipsDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "CreatorChannelId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatorChannelId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MemberSnippet) MarshalJSON() ([]byte, error) { type NoMethod MemberSnippet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MembershipsDetails struct { // AccessibleLevels: Ids of all levels that the user has access to. This // includes the currently active level and all other levels that are included // because of a higher purchase. AccessibleLevels []string `json:"accessibleLevels,omitempty"` // HighestAccessibleLevel: Id of the highest level that the user has access to // at the moment. HighestAccessibleLevel string `json:"highestAccessibleLevel,omitempty"` // HighestAccessibleLevelDisplayName: Display name for the highest level that // the user has access to at the moment. HighestAccessibleLevelDisplayName string `json:"highestAccessibleLevelDisplayName,omitempty"` // MembershipsDuration: Data about memberships duration without taking into // consideration pricing levels. MembershipsDuration *MembershipsDuration `json:"membershipsDuration,omitempty"` // MembershipsDurationAtLevels: Data about memberships duration on particular // pricing levels. MembershipsDurationAtLevels []*MembershipsDurationAtLevel `json:"membershipsDurationAtLevels,omitempty"` // ForceSendFields is a list of field names (e.g. "AccessibleLevels") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AccessibleLevels") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MembershipsDetails) MarshalJSON() ([]byte, error) { type NoMethod MembershipsDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MembershipsDuration struct { // MemberSince: The date and time when the user became a continuous member // across all levels. MemberSince string `json:"memberSince,omitempty"` // MemberTotalDurationMonths: The cumulative time the user has been a member // across all levels in complete months (the time is rounded down to the // nearest integer). MemberTotalDurationMonths int64 `json:"memberTotalDurationMonths,omitempty"` // ForceSendFields is a list of field names (e.g. "MemberSince") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MemberSince") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MembershipsDuration) MarshalJSON() ([]byte, error) { type NoMethod MembershipsDuration return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MembershipsDurationAtLevel struct { // Level: Pricing level ID. Level string `json:"level,omitempty"` // MemberSince: The date and time when the user became a continuous member for // the given level. MemberSince string `json:"memberSince,omitempty"` // MemberTotalDurationMonths: The cumulative time the user has been a member // for the given level in complete months (the time is rounded down to the // nearest integer). MemberTotalDurationMonths int64 `json:"memberTotalDurationMonths,omitempty"` // ForceSendFields is a list of field names (e.g. "Level") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Level") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MembershipsDurationAtLevel) MarshalJSON() ([]byte, error) { type NoMethod MembershipsDurationAtLevel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MembershipsLevel: A *membershipsLevel* resource represents an offer made by // YouTube creators for their fans. Users can become members of the channel by // joining one of the available levels. They will provide recurring monetary // support and receives special benefits. type MembershipsLevel struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the memberships level. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#membershipsLevelListResponse". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the level. Snippet *MembershipsLevelSnippet `json:"snippet,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MembershipsLevel) MarshalJSON() ([]byte, error) { type NoMethod MembershipsLevel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MembershipsLevelListResponse 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 pricing levels offered by a creator to the fans. Items []*MembershipsLevel `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#membershipsLevelListResponse". 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MembershipsLevelListResponse) MarshalJSON() ([]byte, error) { type NoMethod MembershipsLevelListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type MembershipsLevelSnippet struct { // CreatorChannelId: The id of the channel that's offering channel memberships. CreatorChannelId string `json:"creatorChannelId,omitempty"` // LevelDetails: Details about the pricing level. LevelDetails *LevelDetails `json:"levelDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "CreatorChannelId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatorChannelId") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MembershipsLevelSnippet) MarshalJSON() ([]byte, error) { type NoMethod MembershipsLevelSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MonitorStreamInfo) MarshalJSON() ([]byte, error) { type NoMethod MonitorStreamInfo return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PageInfo) MarshalJSON() ([]byte, error) { type NoMethod PageInfo return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Playlist) MarshalJSON() ([]byte, error) { type NoMethod Playlist return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistContentDetails) MarshalJSON() ([]byte, error) { type NoMethod PlaylistContentDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type PlaylistImage struct { // Id: Identifies this resource (playlist id and image type). Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#playlistImages". Kind string `json:"kind,omitempty"` Snippet *PlaylistImageSnippet `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. "Id") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistImage) MarshalJSON() ([]byte, error) { type NoMethod PlaylistImage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type PlaylistImageListResponse struct { Items []*PlaylistImage `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed string // "youtube#playlistImageListResponse". 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: General pagination information. 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"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Items") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Items") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistImageListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistImageListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PlaylistImageSnippet: A *playlistImage* resource identifies another // resource, such as a image, that is associated with a playlist. In addition, // the playlistImage 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 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 playlistImages.list method to retrieve image data for any // of those playlists. You can also add or remove images from those lists by // calling the playlistImages.insert and playlistImages.delete methods. type PlaylistImageSnippet struct { // Height: The image height. Height int64 `json:"height,omitempty"` // PlaylistId: The Playlist ID of the playlist this image is associated with. PlaylistId string `json:"playlistId,omitempty"` // Type: The image type. // // Possible values: // "hero" - The main image that will be used for this playlist. Type string `json:"type,omitempty"` // Width: The image width. Width int64 `json:"width,omitempty"` // ForceSendFields is a list of field names (e.g. "Height") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Height") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistImageSnippet) MarshalJSON() ([]byte, error) { type NoMethod PlaylistImageSnippet return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistItem) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItem return gensupport.MarshalJSON(NoMethod(*s), 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. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistItemContentDetails) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemContentDetails return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type PlaylistItemListResponse struct { 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". Etag of this resource. 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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistItemListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemListResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PlaylistItemSnippet: Basic details about a playlist, including title, // description and thumbnails. Basic details of a YouTube Playlist item // provided by the author. Next ID: 15 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 thGe 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. 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"` // VideoOwnerChannelId: Channel id for the channel this video belongs to. VideoOwnerChannelId string `json:"videoOwnerChannelId,omitempty"` // VideoOwnerChannelTitle: Channel title for the channel this video belongs to. VideoOwnerChannelTitle string `json:"videoOwnerChannelTitle,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistItemSnippet) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemSnippet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PlaylistItemStatus: Information about the playlist item's privacy status. type PlaylistItemStatus struct { // PrivacyStatus: This resource's privacy status. // // Possible values: // "public" // "unlisted" // "private" 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistItemStatus) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemStatus return gensupport.MarshalJSON(NoMethod(*s), 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: General pagination information. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistListResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PlaylistLocalization) MarshalJSON() ([]byte, error) { type NoMethod PlaylistLocalization return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type PlaylistPlayer struct { // EmbedHtml: An