// Copyright 2021 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/ // // Creating a client // // Usage example: // // import "google.golang.org/api/youtube/v3" // ... // ctx := context.Background() // youtubeService, err := youtube.NewService(ctx) // // In this example, Google Application Default Credentials are used for authentication. // // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // Other authentication options // // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: // // youtubeService, err := youtube.NewService(ctx, option.WithScopes(youtube.YoutubepartnerChannelAuditScope)) // // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: // // youtubeService, err := youtube.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // youtubeService, err := youtube.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package youtube // import "google.golang.org/api/youtube/v3" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" 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 const apiId = "youtube:v3" const apiName = "youtube" const apiVersion = "v3" const basePath = "https://youtube.googleapis.com/" 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 := option.WithScopes( "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.WithDefaultMTLSEndpoint(mtlsBasePath)) 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.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 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 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AbuseTypes") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *AbuseReport) MarshalJSON() ([]byte, error) { type NoMethod AbuseReport raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Id") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *AbuseType) MarshalJSON() ([]byte, error) { type NoMethod AbuseType raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Allowed") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *AccessPolicy) MarshalJSON() ([]byte, error) { type NoMethod AccessPolicy raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Activity: An *activity* resource contains information about an action // that a particular channel, or user, has taken on YouTube.The actions // reported in activity feeds include rating a video, sharing a video, // marking a video as a favorite, commenting on a video, uploading a // video, and so forth. Each activity resource identifies the type of // action, the channel associated with the action, and the resource(s) // associated with the action, such as the video that was rated or // uploaded. type Activity struct { // ContentDetails: The contentDetails object contains information about // the content associated with the activity. For example, if the // snippet.type value is videoRated, then the contentDetails object's // content identifies the rated video. ContentDetails *ActivityContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the activity. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#activity". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the // activity, including the activity's type and group ID. Snippet *ActivitySnippet `json:"snippet,omitempty"` // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *Activity) MarshalJSON() ([]byte, error) { type NoMethod Activity raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetails: Details about the content of an activity: the // video that was shared, the channel that was subscribed to, etc. type ActivityContentDetails struct { // Bulletin: The bulletin object contains details about a channel // bulletin post. This object is only present if the snippet.type is // bulletin. Bulletin *ActivityContentDetailsBulletin `json:"bulletin,omitempty"` // ChannelItem: The channelItem object contains details about a resource // which was added to a channel. This property is only present if the // snippet.type is channelItem. ChannelItem *ActivityContentDetailsChannelItem `json:"channelItem,omitempty"` // Comment: The comment object contains information about a resource // that received a comment. This property is only present if the // snippet.type is comment. Comment *ActivityContentDetailsComment `json:"comment,omitempty"` // Favorite: The favorite object contains information about a video that // was marked as a favorite video. This property is only present if the // snippet.type is favorite. Favorite *ActivityContentDetailsFavorite `json:"favorite,omitempty"` // Like: The like object contains information about a resource that // received a positive (like) rating. This property is only present if // the snippet.type is like. Like *ActivityContentDetailsLike `json:"like,omitempty"` // PlaylistItem: The playlistItem object contains information about a // new playlist item. This property is only present if the snippet.type // is playlistItem. PlaylistItem *ActivityContentDetailsPlaylistItem `json:"playlistItem,omitempty"` // PromotedItem: The promotedItem object contains details about a // resource which is being promoted. This property is only present if // the snippet.type is promotedItem. PromotedItem *ActivityContentDetailsPromotedItem `json:"promotedItem,omitempty"` // Recommendation: The recommendation object contains information about // a recommended resource. This property is only present if the // snippet.type is recommendation. Recommendation *ActivityContentDetailsRecommendation `json:"recommendation,omitempty"` // Social: The social object contains details about a social network // post. This property is only present if the snippet.type is social. Social *ActivityContentDetailsSocial `json:"social,omitempty"` // Subscription: The subscription object contains information about a // channel that a user subscribed to. This property is only present if // the snippet.type is subscription. Subscription *ActivityContentDetailsSubscription `json:"subscription,omitempty"` // Upload: The upload object contains information about the uploaded // video. This property is only present if the snippet.type is upload. Upload *ActivityContentDetailsUpload `json:"upload,omitempty"` // ForceSendFields is a list of field names (e.g. "Bulletin") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Bulletin") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsBulletin: Details about a channel bulletin // post. type ActivityContentDetailsBulletin struct { // ResourceId: The resourceId object contains information that // identifies the resource associated with a bulletin post. @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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsBulletin) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsBulletin raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsChannelItem: Details about a resource which was // added to a channel. type ActivityContentDetailsChannelItem struct { // ResourceId: The resourceId object contains information that // identifies the resource that was added to the channel. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsChannelItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsChannelItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsComment: Information about a resource that // received a comment. type ActivityContentDetailsComment struct { // ResourceId: The resourceId object contains information that // identifies the resource associated with the comment. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsComment) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsComment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsFavorite: Information about a video that was // marked as a favorite video. type ActivityContentDetailsFavorite struct { // ResourceId: The resourceId object contains information that // identifies the resource that was marked as a favorite. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsFavorite) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsFavorite raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsLike: Information about a resource that // received a positive (like) rating. type ActivityContentDetailsLike struct { // ResourceId: The resourceId object contains information that // identifies the rated resource. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsLike) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsLike raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsPlaylistItem: Information about a new playlist // item. type ActivityContentDetailsPlaylistItem struct { // PlaylistId: The value that YouTube uses to uniquely identify the // playlist. PlaylistId string `json:"playlistId,omitempty"` // PlaylistItemId: ID of the item within the playlist. PlaylistItemId string `json:"playlistItemId,omitempty"` // ResourceId: The resourceId object contains information about the // resource that was added to the playlist. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "PlaylistId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PlaylistId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsPlaylistItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsPlaylistItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsPromotedItem: Details about a resource which is // being promoted. type ActivityContentDetailsPromotedItem struct { // AdTag: The URL the client should fetch to request a promoted item. AdTag string `json:"adTag,omitempty"` // ClickTrackingUrl: The URL the client should ping to indicate that the // user clicked through on this promoted item. ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"` // CreativeViewUrl: The URL the client should ping to indicate that the // user was shown this promoted item. CreativeViewUrl string `json:"creativeViewUrl,omitempty"` // CtaType: The type of call-to-action, a message to the user indicating // action that can be taken. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AdTag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsPromotedItem) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsPromotedItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsRecommendation: Information that identifies the // recommended resource. type ActivityContentDetailsRecommendation struct { // Reason: The reason that the resource is recommended to the user. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Reason") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsRecommendation) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsRecommendation raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsSocial: Details about a social network post. type ActivityContentDetailsSocial struct { // Author: The author of the social network post. Author string `json:"author,omitempty"` // ImageUrl: An image of the post's author. ImageUrl string `json:"imageUrl,omitempty"` // ReferenceUrl: The URL of the social network post. ReferenceUrl string `json:"referenceUrl,omitempty"` // ResourceId: The resourceId object encapsulates information that // identifies the resource associated with a social network post. ResourceId *ResourceId `json:"resourceId,omitempty"` // Type: The name of the social network. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Author") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsSocial) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsSocial raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsSubscription: Information about a channel that // a user subscribed to. type ActivityContentDetailsSubscription struct { // ResourceId: The resourceId object contains information that // identifies the resource that the user subscribed to. ResourceId *ResourceId `json:"resourceId,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsSubscription) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsSubscription raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivityContentDetailsUpload: Information about the uploaded video. type ActivityContentDetailsUpload struct { // VideoId: The ID that YouTube uses to uniquely identify the uploaded // video. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "VideoId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "VideoId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityContentDetailsUpload) MarshalJSON() ([]byte, error) { type NoMethod ActivityContentDetailsUpload raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ActivityListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` Items []*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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivityListResponse) MarshalJSON() ([]byte, error) { type NoMethod ActivityListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ActivitySnippet: Basic details about an activity, including title, // description, thumbnails, activity type and group. 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ActivitySnippet) MarshalJSON() ([]byte, error) { type NoMethod ActivitySnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Caption: A *caption* resource represents a YouTube caption track. A // caption track is associated with exactly one YouTube video. type Caption struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the caption track. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#caption". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the caption. Snippet *CaptionSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Caption) MarshalJSON() ([]byte, error) { type NoMethod Caption raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type CaptionListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of captions that match the request criteria. Items []*Caption `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#captionListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CaptionListResponse) MarshalJSON() ([]byte, error) { type NoMethod CaptionListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CaptionSnippet: Basic details about a caption track, such as its // language and name. type CaptionSnippet struct { // AudioTrackType: The type of audio track associated with the caption // track. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AudioTrackType") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *CaptionSnippet) MarshalJSON() ([]byte, error) { type NoMethod CaptionSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CdnSettings: Brief description of the live stream cdn settings. type CdnSettings struct { // Format: The format of the video stream that you are sending to // Youtube. Format string `json:"format,omitempty"` // FrameRate: The frame rate of the inbound video data. // // Possible values: // "30fps" // "60fps" // "variable" FrameRate string `json:"frameRate,omitempty"` // IngestionInfo: The ingestionInfo object contains information that // YouTube provides that you need to transmit your RTMP or HTTP stream // to YouTube. IngestionInfo *IngestionInfo `json:"ingestionInfo,omitempty"` // IngestionType: The method or protocol used to transmit the video // stream. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Format") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CdnSettings) MarshalJSON() ([]byte, error) { type NoMethod CdnSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Channel: A *channel* resource contains information about a YouTube // channel. type Channel struct { // AuditDetails: The auditionDetails object encapsulates channel data // that is relevant for YouTube Partners during the audition process. AuditDetails *ChannelAuditDetails `json:"auditDetails,omitempty"` // BrandingSettings: The brandingSettings object encapsulates // information about the branding of the channel. BrandingSettings *ChannelBrandingSettings `json:"brandingSettings,omitempty"` // ContentDetails: The contentDetails object encapsulates information // about the channel's content. ContentDetails *ChannelContentDetails `json:"contentDetails,omitempty"` // ContentOwnerDetails: The contentOwnerDetails object encapsulates // channel data that is relevant for YouTube Partners linked with the // channel. ContentOwnerDetails *ChannelContentOwnerDetails `json:"contentOwnerDetails,omitempty"` // ConversionPings: The conversionPings object encapsulates information // about conversion pings that need to be respected by the channel. ConversionPings *ChannelConversionPings `json:"conversionPings,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the channel. Id string `json:"id,omitempty"` // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuditDetails") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Channel) MarshalJSON() ([]byte, error) { type NoMethod Channel raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelAuditDetails: The auditDetails object encapsulates channel // data that is relevant for YouTube Partners during the audit process. type ChannelAuditDetails struct { // CommunityGuidelinesGoodStanding: Whether or not the channel respects // the community guidelines. CommunityGuidelinesGoodStanding bool `json:"communityGuidelinesGoodStanding,omitempty"` // ContentIdClaimsGoodStanding: Whether or not the channel has any // unresolved claims. ContentIdClaimsGoodStanding bool `json:"contentIdClaimsGoodStanding,omitempty"` // CopyrightStrikesGoodStanding: Whether or not the channel has any // copyright strikes. CopyrightStrikesGoodStanding bool `json:"copyrightStrikesGoodStanding,omitempty"` // ForceSendFields is a list of field names (e.g. // "CommunityGuidelinesGoodStanding") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "CommunityGuidelinesGoodStanding") to include in API requests with // the JSON null value. By default, fields with empty values are omitted // from API requests. However, any field with an empty value appearing // in NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelAuditDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelAuditDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelBannerResource: A channel banner returned as the response to a // channel_banner.insert call. type ChannelBannerResource struct { Etag 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelBannerResource) MarshalJSON() ([]byte, error) { type NoMethod ChannelBannerResource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelBrandingSettings: Branding properties of a YouTube channel. type ChannelBrandingSettings struct { // Channel: Branding properties for the channel view. Channel *ChannelSettings `json:"channel,omitempty"` // Hints: Additional experimental branding properties. Hints []*PropertyValue `json:"hints,omitempty"` // Image: Branding properties for branding images. Image *ImageSettings `json:"image,omitempty"` // Watch: Branding properties for the watch page. Watch *WatchSettings `json:"watch,omitempty"` // ForceSendFields is a list of field names (e.g. "Channel") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Channel") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelBrandingSettings) MarshalJSON() ([]byte, error) { type NoMethod ChannelBrandingSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelContentDetails: Details about the content of a channel. type ChannelContentDetails struct { RelatedPlaylists *ChannelContentDetailsRelatedPlaylists `json:"relatedPlaylists,omitempty"` // ForceSendFields is a list of field names (e.g. "RelatedPlaylists") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RelatedPlaylists") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ChannelContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelContentDetailsRelatedPlaylists struct { // Favorites: The ID of the playlist that contains the channel"s // favorite videos. Use the playlistItems.insert and // playlistItems.delete to add or remove items from that list. Favorites string `json:"favorites,omitempty"` // Likes: The ID of the playlist that contains the channel"s liked // videos. Use the playlistItems.insert and playlistItems.delete to add // or remove items from that list. Likes string `json:"likes,omitempty"` // Uploads: The ID of the playlist that contains the channel"s uploaded // videos. Use the videos.insert method to upload new videos and the // videos.delete method to delete previously uploaded videos. Uploads string `json:"uploads,omitempty"` // WatchHistory: The ID of the playlist that contains the channel"s // watch history. Use the playlistItems.insert and playlistItems.delete // to add or remove items from that list. WatchHistory string `json:"watchHistory,omitempty"` // WatchLater: The ID of the playlist that contains the channel"s watch // later playlist. Use the playlistItems.insert and playlistItems.delete // to add or remove items from that list. WatchLater string `json:"watchLater,omitempty"` // ForceSendFields is a list of field names (e.g. "Favorites") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Favorites") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelContentDetailsRelatedPlaylists) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentDetailsRelatedPlaylists raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelContentOwnerDetails: The contentOwnerDetails object // encapsulates channel data that is relevant for YouTube Partners // linked with the channel. type ChannelContentOwnerDetails struct { // ContentOwner: The ID of the content owner linked to the channel. ContentOwner string `json:"contentOwner,omitempty"` // TimeLinked: The date and time 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentOwner") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelContentOwnerDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelContentOwnerDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelConversionPing: Pings that the app shall fire (authenticated // by biscotti cookie). Each ping has a context, in which the app must // fire the ping, and a url identifying the ping. type ChannelConversionPing struct { // Context: Defines the context of the ping. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Context") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelConversionPing) MarshalJSON() ([]byte, error) { type NoMethod ChannelConversionPing raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelConversionPings: The conversionPings object encapsulates // information about conversion pings that need to be respected by the // channel. type ChannelConversionPings struct { // Pings: Pings that the app shall fire (authenticated by biscotti // cookie). Each ping has a context, in which the app must fire the // ping, and a url identifying the ping. Pings []*ChannelConversionPing `json:"pings,omitempty"` // ForceSendFields is a list of field names (e.g. "Pings") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Pings") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelConversionPings) MarshalJSON() ([]byte, error) { type NoMethod ChannelConversionPings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` Items []*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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelListResponse) MarshalJSON() ([]byte, error) { type NoMethod ChannelListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelLocalization: Channel localization setting type ChannelLocalization struct { // Description: The localized strings for channel's description. Description string `json:"description,omitempty"` // Title: The localized strings for channel's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelLocalization) MarshalJSON() ([]byte, error) { type NoMethod ChannelLocalization raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelProfileDetails struct { // ChannelId: The YouTube channel ID. ChannelId string `json:"channelId,omitempty"` // ChannelUrl: The channel's URL. ChannelUrl string `json:"channelUrl,omitempty"` // DisplayName: The channel's display name. DisplayName string `json:"displayName,omitempty"` // ProfileImageUrl: The channels's avatar URL. ProfileImageUrl string `json:"profileImageUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelProfileDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelProfileDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelSection struct { // ContentDetails: The contentDetails object contains details about the // channel section content, such as a list of playlists or channels // featured in the section. ContentDetails *ChannelSectionContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the channel // section. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channelSection". Kind string `json:"kind,omitempty"` // Localizations: Localizations for different languages Localizations map[string]ChannelSectionLocalization `json:"localizations,omitempty"` // Snippet: The snippet object contains basic details about the channel // section, such as its type, style and title. Snippet *ChannelSectionSnippet `json:"snippet,omitempty"` // Targeting: The targeting object contains basic targeting settings // about the channel section. Targeting *ChannelSectionTargeting `json:"targeting,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ChannelSection) MarshalJSON() ([]byte, error) { type NoMethod ChannelSection raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionContentDetails: Details about a channelsection, // including playlists and channels. type ChannelSectionContentDetails struct { // Channels: The channel ids for type multiple_channels. Channels []string `json:"channels,omitempty"` // Playlists: The playlist ids for type single_playlist and // multiple_playlists. For singlePlaylist, only one playlistId is // allowed. Playlists []string `json:"playlists,omitempty"` // ForceSendFields is a list of field names (e.g. "Channels") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Channels") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionContentDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type ChannelSectionListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of ChannelSections that match the request criteria. Items []*ChannelSection `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#channelSectionListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionListResponse) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionLocalization: ChannelSection localization setting type ChannelSectionLocalization struct { // Title: The localized strings for channel section's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Title") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Title") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionLocalization) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionLocalization raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionSnippet: Basic details about a channel section, // including title, style and position. type ChannelSectionSnippet struct { // ChannelId: The ID that YouTube uses to uniquely identify the channel // that published the channel section. ChannelId string `json:"channelId,omitempty"` // DefaultLanguage: The language of the channel section's default title // and description. DefaultLanguage string `json:"defaultLanguage,omitempty"` // Localized: Localized title, read-only. Localized *ChannelSectionLocalization `json:"localized,omitempty"` // Position: The position of the channel section in the channel. Position *int64 `json:"position,omitempty"` // Style: The style of the channel section. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionSnippet) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSectionTargeting: ChannelSection targeting setting. type ChannelSectionTargeting struct { // Countries: The country the channel section is targeting. Countries []string `json:"countries,omitempty"` // Languages: The language the channel section is targeting. Languages []string `json:"languages,omitempty"` // Regions: The region the channel section is targeting. Regions []string `json:"regions,omitempty"` // ForceSendFields is a list of field names (e.g. "Countries") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Countries") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSectionTargeting) MarshalJSON() ([]byte, error) { type NoMethod ChannelSectionTargeting raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSettings: Branding properties for the channel view. type ChannelSettings struct { // Country: The country of the channel. Country string `json:"country,omitempty"` DefaultLanguage string `json:"defaultLanguage,omitempty"` // DefaultTab: Which content tab users should see when viewing the // channel. DefaultTab string `json:"defaultTab,omitempty"` // Description: Specifies the channel description. Description string `json:"description,omitempty"` // FeaturedChannelsTitle: Title for the featured channels tab. FeaturedChannelsTitle string `json:"featuredChannelsTitle,omitempty"` // FeaturedChannelsUrls: The list of featured channels. FeaturedChannelsUrls []string `json:"featuredChannelsUrls,omitempty"` // Keywords: Lists keywords associated with the channel, // comma-separated. Keywords string `json:"keywords,omitempty"` // ModerateComments: Whether user-submitted comments left on the channel // page need to be approved by the channel owner to be publicly visible. ModerateComments bool `json:"moderateComments,omitempty"` // ProfileColor: A prominent color that can be rendered on this channel // page. ProfileColor string `json:"profileColor,omitempty"` // ShowBrowseView: Whether the tab to browse the videos should be // displayed. ShowBrowseView bool `json:"showBrowseView,omitempty"` // ShowRelatedChannels: Whether related channels should be proposed. ShowRelatedChannels bool `json:"showRelatedChannels,omitempty"` // Title: Specifies the channel title. Title string `json:"title,omitempty"` // TrackingAnalyticsAccountId: The ID for a Google Analytics account to // track and measure traffic to the channels. TrackingAnalyticsAccountId string `json:"trackingAnalyticsAccountId,omitempty"` // UnsubscribedTrailer: The trailer of the channel, for users that are // not subscribers. UnsubscribedTrailer string `json:"unsubscribedTrailer,omitempty"` // ForceSendFields is a list of field names (e.g. "Country") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Country") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSettings) MarshalJSON() ([]byte, error) { type NoMethod ChannelSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelSnippet: Basic details about a channel, including title, // description and thumbnails. type ChannelSnippet struct { // Country: The country of the channel. Country string `json:"country,omitempty"` // CustomUrl: The custom url of the channel. CustomUrl string `json:"customUrl,omitempty"` // DefaultLanguage: The language of the channel's default title and // description. DefaultLanguage string `json:"defaultLanguage,omitempty"` // Description: The description of the channel. Description string `json:"description,omitempty"` // Localized: Localized title and description, read-only. Localized *ChannelLocalization `json:"localized,omitempty"` // PublishedAt: The date and time that the channel was created. 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Country") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelSnippet) MarshalJSON() ([]byte, error) { type NoMethod ChannelSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelStatistics: Statistics about a channel: number of subscribers, // number of videos in the channel, etc. type ChannelStatistics struct { // CommentCount: The number of comments for the channel. CommentCount uint64 `json:"commentCount,omitempty,string"` // HiddenSubscriberCount: Whether or not the number of subscribers is // shown for this user. HiddenSubscriberCount bool `json:"hiddenSubscriberCount,omitempty"` // SubscriberCount: The number of subscribers that the channel has. SubscriberCount uint64 `json:"subscriberCount,omitempty,string"` // VideoCount: The number of videos uploaded to the channel. VideoCount uint64 `json:"videoCount,omitempty,string"` // ViewCount: The number of times the channel has been viewed. ViewCount uint64 `json:"viewCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CommentCount") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CommentCount") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelStatistics) MarshalJSON() ([]byte, error) { type NoMethod ChannelStatistics raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelStatus: JSON template for the status part of a channel. type ChannelStatus struct { // IsLinked: If true, then the user is linked to either a YouTube // username or G+ account. Otherwise, the user doesn't have a public // YouTube identity. IsLinked bool `json:"isLinked,omitempty"` // LongUploadsStatus: The long uploads status of this channel. See // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IsLinked") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelStatus) MarshalJSON() ([]byte, error) { type NoMethod ChannelStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelToStoreLinkDetails: Information specific to a store on a // merchandising platform linked to a YouTube channel. type ChannelToStoreLinkDetails struct { // 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. "StoreName") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "StoreName") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ChannelToStoreLinkDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelToStoreLinkDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ChannelTopicDetails: Freebase topic information related to the // channel. type ChannelTopicDetails struct { // TopicCategories: A list of Wikipedia URLs that describe the channel's // content. TopicCategories []string `json:"topicCategories,omitempty"` // TopicIds: A list of Freebase topic IDs associated with the channel. // You can retrieve information about each topic using the Freebase // Topic API. TopicIds []string `json:"topicIds,omitempty"` // ForceSendFields is a list of field names (e.g. "TopicCategories") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TopicCategories") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ChannelTopicDetails) MarshalJSON() ([]byte, error) { type NoMethod ChannelTopicDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Comment: A *comment* represents a single YouTube comment. type Comment struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the comment. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#comment". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the comment. Snippet *CommentSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Comment) MarshalJSON() ([]byte, error) { type NoMethod Comment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type CommentListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of comments that match the request criteria. Items []*Comment `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#commentListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` // PageInfo: 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentListResponse) MarshalJSON() ([]byte, error) { type NoMethod CommentListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentSnippet: Basic details about a comment, such as its author and // text. type CommentSnippet struct { AuthorChannelId *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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorChannelId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *CommentSnippet) MarshalJSON() ([]byte, error) { type NoMethod CommentSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Value") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentSnippetAuthorChannelId) MarshalJSON() ([]byte, error) { type NoMethod CommentSnippetAuthorChannelId raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentThread: A *comment thread* represents information that applies // to a top level comment and all its replies. It can also include the // top level comment itself and some of the replies. type CommentThread struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the comment thread. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#commentThread". Kind string `json:"kind,omitempty"` // Replies: The replies object contains a limited number of replies (if // any) to the top level comment found in the snippet. Replies *CommentThreadReplies `json:"replies,omitempty"` // Snippet: The snippet object contains basic details about the comment // thread and also the top level comment. Snippet *CommentThreadSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThread) MarshalJSON() ([]byte, error) { type NoMethod CommentThread raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type CommentThreadListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of comment threads that match the request criteria. Items []*CommentThread `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#commentThreadListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` // PageInfo: 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThreadListResponse) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentThreadReplies: Comments written in (direct or indirect) reply // to the top level comment. type CommentThreadReplies struct { // Comments: A limited number of replies. Unless the number of replies // returned equals total_reply_count in the snippet the returned replies // are only a subset of the total number of replies. Comments []*Comment `json:"comments,omitempty"` // ForceSendFields is a list of field names (e.g. "Comments") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Comments") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThreadReplies) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadReplies raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CommentThreadSnippet: Basic details about a comment thread. type CommentThreadSnippet struct { // CanReply: Whether the current viewer of the thread can reply to it. // This is viewer specific - other viewers may see a different value for // this field. CanReply bool `json:"canReply,omitempty"` // ChannelId: The YouTube channel the comments in the thread refer to or // the channel with the video the comments refer to. If video_id isn't // set the comments refer to the channel itself. ChannelId string `json:"channelId,omitempty"` // IsPublic: Whether the thread (and therefore all its comments) is // visible to all YouTube users. IsPublic bool `json:"isPublic,omitempty"` // TopLevelComment: The top level comment of this thread. TopLevelComment *Comment `json:"topLevelComment,omitempty"` // TotalReplyCount: The total number of replies (not including the top // level comment). TotalReplyCount int64 `json:"totalReplyCount,omitempty"` // VideoId: The ID of the video the comments refer to, if any. No // video_id implies a channel discussion comment. VideoId string `json:"videoId,omitempty"` // ForceSendFields is a list of field names (e.g. "CanReply") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CanReply") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *CommentThreadSnippet) MarshalJSON() ([]byte, error) { type NoMethod CommentThreadSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ContentRating: Ratings schemes. The country-specific ratings are // mostly for movies and shows. 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 // "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" // "mibacVm12" // "mibacVm14" // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AcbRating") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *ContentRating) MarshalJSON() ([]byte, error) { type NoMethod ContentRating raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Id") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Entity) MarshalJSON() ([]byte, error) { type NoMethod Entity raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GeoPoint: Geographical coordinates of a point, in WGS84. type GeoPoint struct { // Altitude: Altitude above the reference ellipsoid, in meters. Altitude float64 `json:"altitude,omitempty"` // Latitude: Latitude in degrees. Latitude float64 `json:"latitude,omitempty"` // Longitude: Longitude in degrees. Longitude float64 `json:"longitude,omitempty"` // ForceSendFields is a list of field names (e.g. "Altitude") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Altitude") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GeoPoint) MarshalJSON() ([]byte, error) { type NoMethod GeoPoint raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } func (s *GeoPoint) UnmarshalJSON(data []byte) error { type NoMethod GeoPoint var s1 struct { Altitude gensupport.JSONFloat64 `json:"altitude"` Latitude gensupport.JSONFloat64 `json:"latitude"` Longitude gensupport.JSONFloat64 `json:"longitude"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Altitude = float64(s1.Altitude) s.Latitude = float64(s1.Latitude) s.Longitude = float64(s1.Longitude) return nil } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nLanguage) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type I18nLanguageListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of supported i18n languages. In this map, the i18n // language ID is the map key, and its value is the corresponding // i18nLanguage resource. Items []*I18nLanguage `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nLanguageListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nLanguageListResponse) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguageListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nLanguageSnippet: Basic details about an i18n language, such as // language code and human-readable name. type I18nLanguageSnippet struct { // Hl: A short BCP-47 code that uniquely identifies a language. Hl string `json:"hl,omitempty"` // Name: The human-readable name of the language in the language itself. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Hl") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Hl") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nLanguageSnippet) MarshalJSON() ([]byte, error) { type NoMethod I18nLanguageSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nRegion: A *i18nRegion* resource identifies a region where YouTube // is available. type I18nRegion struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the i18n region. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nRegion". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the i18n // region, such as region code and human-readable name. Snippet *I18nRegionSnippet `json:"snippet,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nRegion) MarshalJSON() ([]byte, error) { type NoMethod I18nRegion raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type I18nRegionListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of regions where YouTube is available. In this map, the // i18n region ID is the map key, and its value is the corresponding // i18nRegion resource. Items []*I18nRegion `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#i18nRegionListResponse". Kind string `json:"kind,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nRegionListResponse) MarshalJSON() ([]byte, error) { type NoMethod I18nRegionListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // I18nRegionSnippet: Basic details about an i18n region, such as region // code and human-readable name. type I18nRegionSnippet struct { // Gl: The region code as a 2-letter ISO country code. Gl string `json:"gl,omitempty"` // Name: The human-readable name of the region. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Gl") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Gl") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *I18nRegionSnippet) MarshalJSON() ([]byte, error) { type NoMethod I18nRegionSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ImageSettings: Branding properties for images associated with the // channel. type ImageSettings struct { // BackgroundImageUrl: The URL for the background image shown on the // video watch page. The image should be 1200px by 615px, with a maximum // file size of 128k. BackgroundImageUrl *LocalizedProperty `json:"backgroundImageUrl,omitempty"` // BannerExternalUrl: This is 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BackgroundImageUrl") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *ImageSettings) MarshalJSON() ([]byte, error) { type NoMethod ImageSettings raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // IngestionInfo: Describes information necessary for ingesting an RTMP // or an HTTP stream. type IngestionInfo struct { // BackupIngestionAddress: The backup ingestion URL that you should use // to stream video to YouTube. You have the option of simultaneously // streaming the content that you are sending to the ingestionAddress to // this URL. BackupIngestionAddress string `json:"backupIngestionAddress,omitempty"` // IngestionAddress: The primary ingestion URL that you should use to // stream video to YouTube. You must stream video to this URL. Depending // on which application or tool you use to encode your video stream, you // may need to enter the stream URL and stream name separately or you // may need to concatenate them in the following format: // *STREAM_URL/STREAM_NAME* IngestionAddress string `json:"ingestionAddress,omitempty"` // 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 HTTP or RTMP stream name that YouTube assigns to the // video stream. StreamName string `json:"streamName,omitempty"` // ForceSendFields is a list of field names (e.g. // "BackupIngestionAddress") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BackupIngestionAddress") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *IngestionInfo) MarshalJSON() ([]byte, error) { type NoMethod IngestionInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ImageBytes") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *InvideoBranding) MarshalJSON() ([]byte, error) { type NoMethod InvideoBranding raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // InvideoPosition: Describes the spatial position of a visual widget // inside a video. It is a union of various position types, out of which // only will be set one. type InvideoPosition struct { // CornerPosition: Describes in which corner of the video the visual // widget will appear. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CornerPosition") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *InvideoPosition) MarshalJSON() ([]byte, error) { type NoMethod InvideoPosition raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DurationMs") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *InvideoTiming) MarshalJSON() ([]byte, error) { type NoMethod InvideoTiming raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LanguageTag struct { Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Value") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Value") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LanguageTag) MarshalJSON() ([]byte, error) { type NoMethod LanguageTag raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DisplayName") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LevelDetails) MarshalJSON() ([]byte, error) { type NoMethod LevelDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveBroadcast: A *liveBroadcast* resource represents an event that // will be streamed, via live video, on YouTube. type LiveBroadcast struct { // ContentDetails: The contentDetails object contains information about // the event's video content, such as whether the content can be shown // in an embedded video player or if it will be archived and therefore // available for viewing after the event has concluded. ContentDetails *LiveBroadcastContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the broadcast. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveBroadcast". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the event, // including its title, description, start time, and end time. Snippet *LiveBroadcastSnippet `json:"snippet,omitempty"` // Statistics: The statistics object contains info about the event's // current stats. These include concurrent viewers and total chat count. // Statistics can change (in either direction) during the lifetime of an // event. Statistics are only returned while the event is live. Statistics *LiveBroadcastStatistics `json:"statistics,omitempty"` // Status: The status object contains information about the event's // status. Status *LiveBroadcastStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveBroadcast) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcast raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveBroadcastContentDetails: Detailed settings of a broadcast. type LiveBroadcastContentDetails struct { // BoundStreamId: This value uniquely identifies the live stream bound // to the broadcast. BoundStreamId string `json:"boundStreamId,omitempty"` // BoundStreamLastUpdateTimeMs: The date and time that the live stream // referenced by boundStreamId was last updated. BoundStreamLastUpdateTimeMs string `json:"boundStreamLastUpdateTimeMs,omitempty"` // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BoundStreamId") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveBroadcastContentDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveBroadcastListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of broadcasts that match the request criteria. Items []*LiveBroadcast `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveBroadcastListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` // PageInfo: 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveBroadcastListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ActualEndTime") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveBroadcastSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveBroadcastStatistics: Statistics about the live broadcast. These // represent a snapshot of the values at the time of the request. // Statistics are only returned for live broadcasts. type LiveBroadcastStatistics struct { // TotalChatCount: The total number of live chat messages currently on // the broadcast. The property and its value will be present if the // broadcast is public, has the live chat feature enabled, and has at // least one message. Note that this field will not be filled after the // broadcast ends. So this property would not identify the number of // chat messages for an archived video of a completed live broadcast. TotalChatCount uint64 `json:"totalChatCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "TotalChatCount") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TotalChatCount") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveBroadcastStatistics) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastStatistics raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LifeCycleStatus") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveBroadcastStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveBroadcastStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatBan: A `__liveChatBan__` resource represents a ban for a // YouTube live chat. type LiveChatBan struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the ban. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatBan". Kind string `json:"kind,omitempty"` // Snippet: The `snippet` object contains basic details about the ban. Snippet *LiveChatBanSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatBan) MarshalJSON() ([]byte, error) { type NoMethod LiveChatBan raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatBanSnippet struct { // BanDurationSeconds: The duration of a ban, only filled if the ban has // type TEMPORARY. BanDurationSeconds uint64 `json:"banDurationSeconds,omitempty,string"` BannedUserDetails *ChannelProfileDetails `json:"bannedUserDetails,omitempty"` // LiveChatId: The chat this ban is pertinent to. LiveChatId string `json:"liveChatId,omitempty"` // Type: The type of ban. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BanDurationSeconds") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatBanSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatBanSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatFanFundingEventDetails struct { // AmountDisplayString: A rendered string that displays the fund amount // and currency to the user. AmountDisplayString string `json:"amountDisplayString,omitempty"` // AmountMicros: The amount of the fund. AmountMicros uint64 `json:"amountMicros,omitempty,string"` // Currency: The currency in which the fund was made. Currency string `json:"currency,omitempty"` // UserComment: The comment added by the user to this fan funding event. UserComment string `json:"userComment,omitempty"` // ForceSendFields is a list of field names (e.g. "AmountDisplayString") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AmountDisplayString") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatFanFundingEventDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatFanFundingEventDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MemberLevelName") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMemberMilestoneChatDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMemberMilestoneChatDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatMessage: A *liveChatMessage* resource represents a chat // message in a YouTube Live Chat. type LiveChatMessage struct { // AuthorDetails: The authorDetails object contains basic details about // the user that posted this message. AuthorDetails *LiveChatMessageAuthorDetails `json:"authorDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the message. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatMessage". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the message. Snippet *LiveChatMessageSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AuthorDetails") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorDetails") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatMessage) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessage raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageAuthorDetails struct { // ChannelId: The YouTube channel ID. ChannelId string `json:"channelId,omitempty"` // ChannelUrl: The channel's URL. ChannelUrl string `json:"channelUrl,omitempty"` // DisplayName: The channel's display name. DisplayName string `json:"displayName,omitempty"` // IsChatModerator: Whether the author is a moderator of the live chat. IsChatModerator bool `json:"isChatModerator,omitempty"` // IsChatOwner: Whether the author is the owner of the live chat. IsChatOwner bool `json:"isChatOwner,omitempty"` // IsChatSponsor: Whether the author is a sponsor of the live chat. IsChatSponsor bool `json:"isChatSponsor,omitempty"` // IsVerified: Whether the author's identity has been verified by // YouTube. IsVerified bool `json:"isVerified,omitempty"` // ProfileImageUrl: The channels's avatar URL. ProfileImageUrl string `json:"profileImageUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "ChannelId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatMessageAuthorDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageAuthorDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageDeletedDetails struct { DeletedMessageId string `json:"deletedMessageId,omitempty"` // ForceSendFields is a list of field names (e.g. "DeletedMessageId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeletedMessageId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMessageDeletedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageDeletedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` Items []*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. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatMessageListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatMessageRetractedDetails struct { RetractedMessageId string `json:"retractedMessageId,omitempty"` // ForceSendFields is a list of field names (e.g. "RetractedMessageId") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RetractedMessageId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMessageRetractedDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageRetractedDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatMessageSnippet: Next ID: 31 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 // 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 AuthorChannelId string `json:"authorChannelId,omitempty"` // DisplayMessage: Contains a string that can be displayed to the user. // If this field is not present the message is silent, at the moment // only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent. DisplayMessage string `json:"displayMessage,omitempty"` // FanFundingEventDetails: Details about the funding event, this is only // set if the type is 'fanFundingEvent'. FanFundingEventDetails *LiveChatFanFundingEventDetails `json:"fanFundingEventDetails,omitempty"` // HasDisplayContent: Whether the message has display content that // should be displayed to users. HasDisplayContent bool `json:"hasDisplayContent,omitempty"` LiveChatId string `json:"liveChatId,omitempty"` // MemberMilestoneChatDetails: Details about the Member Milestone Chat // event, this is only set if the type is 'memberMilestoneChatEvent'. MemberMilestoneChatDetails *LiveChatMemberMilestoneChatDetails `json:"memberMilestoneChatDetails,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"` // 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" // "messageDeletedEvent" // "messageRetractedEvent" // "userBannedEvent" // "superChatEvent" // "superStickerEvent" 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AuthorChannelId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatMessageSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatMessageSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveChatModerator: A *liveChatModerator* resource represents a // moderator for a YouTube live chat. A chat moderator has the ability // to ban/unban users from a chat, remove message, etc. type LiveChatModerator struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the moderator. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatModerator". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the // moderator. Snippet *LiveChatModeratorSnippet `json:"snippet,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatModerator) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModerator raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatModeratorListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of moderators that match the request criteria. Items []*LiveChatModerator `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveChatModeratorListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` // PageInfo: 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatModeratorListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModeratorListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatModeratorSnippet struct { // LiveChatId: The ID of the live chat this moderator can act on. LiveChatId string `json:"liveChatId,omitempty"` // ModeratorDetails: Details about the moderator. ModeratorDetails *ChannelProfileDetails `json:"moderatorDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "LiveChatId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LiveChatId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatModeratorSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveChatModeratorSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IsUpgrade") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatNewSponsorDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatNewSponsorDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatSuperChatDetails struct { // AmountDisplayString: A rendered string that displays the fund amount // and currency to the user. AmountDisplayString string `json:"amountDisplayString,omitempty"` // AmountMicros: The amount purchased by the user, in micros (1,750,000 // micros = 1.75). AmountMicros uint64 `json:"amountMicros,omitempty,string"` // Currency: The currency in which the purchase was made. Currency string `json:"currency,omitempty"` // Tier: The tier in which the amount belongs. Lower amounts belong to // lower tiers. The lowest tier is 1. Tier int64 `json:"tier,omitempty"` // UserComment: The comment added by the user to this Super Chat event. UserComment string `json:"userComment,omitempty"` // ForceSendFields is a list of field names (e.g. "AmountDisplayString") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AmountDisplayString") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatSuperChatDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatSuperChatDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatSuperStickerDetails struct { // AmountDisplayString: A rendered string that displays the fund amount // and currency to the user. AmountDisplayString string `json:"amountDisplayString,omitempty"` // AmountMicros: The amount purchased by the user, in micros (1,750,000 // micros = 1.75). AmountMicros uint64 `json:"amountMicros,omitempty,string"` // Currency: The currency in which the purchase was made. Currency string `json:"currency,omitempty"` // SuperStickerMetadata: Information about the Super Sticker. SuperStickerMetadata *SuperStickerMetadata `json:"superStickerMetadata,omitempty"` // Tier: The tier in which the amount belongs. Lower amounts belong to // lower tiers. The lowest tier is 1. Tier int64 `json:"tier,omitempty"` // ForceSendFields is a list of field names (e.g. "AmountDisplayString") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AmountDisplayString") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatSuperStickerDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatSuperStickerDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatTextMessageDetails struct { // MessageText: The user's message. MessageText string `json:"messageText,omitempty"` // ForceSendFields is a list of field names (e.g. "MessageText") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MessageText") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveChatTextMessageDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatTextMessageDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveChatUserBannedMessageDetails struct { // BanDurationSeconds: The duration of the ban. This property is only // present if the banType is temporary. BanDurationSeconds uint64 `json:"banDurationSeconds,omitempty,string"` // BanType: The type of ban. // // Possible values: // "permanent" // "temporary" BanType string `json:"banType,omitempty"` // BannedUserDetails: The details of the user that was banned. BannedUserDetails *ChannelProfileDetails `json:"bannedUserDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "BanDurationSeconds") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BanDurationSeconds") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveChatUserBannedMessageDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveChatUserBannedMessageDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveStream: A live stream describes a live ingestion point. type LiveStream struct { // Cdn: The cdn object defines the live stream's content delivery // network (CDN) settings. These settings provide details about the // manner in which you stream your content to YouTube. Cdn *CdnSettings `json:"cdn,omitempty"` // ContentDetails: The content_details object contains information about // the stream, including the closed captions ingestion URL. ContentDetails *LiveStreamContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube assigns to uniquely identify the stream. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveStream". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the stream, // including its channel, title, and description. Snippet *LiveStreamSnippet `json:"snippet,omitempty"` // Status: The status object contains information about live stream's // status. Status *LiveStreamStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Cdn") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Cdn") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStream) MarshalJSON() ([]byte, error) { type NoMethod LiveStream raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamConfigurationIssue struct { // Description: The long-form description of the issue and how to // resolve it. Description string `json:"description,omitempty"` // Reason: The short-form reason for this issue. Reason string `json:"reason,omitempty"` // Severity: How severe this issue is to the stream. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamConfigurationIssue) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamConfigurationIssue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveStreamContentDetails: Detailed settings of a stream. type LiveStreamContentDetails struct { // ClosedCaptionsIngestionUrl: The ingestion URL where the closed // captions of this stream are sent. ClosedCaptionsIngestionUrl string `json:"closedCaptionsIngestionUrl,omitempty"` // IsReusable: Indicates whether the stream is reusable, which means // that it can be bound to multiple broadcasts. It is common for // broadcasters to reuse the same stream for many different broadcasts // if those broadcasts occur at different times. If you set this value // to false, then the stream will not be reusable, which means that it // can only be bound to one broadcast. Non-reusable streams differ from // reusable streams in the following ways: - A non-reusable stream can // only be bound to one broadcast. - A non-reusable stream might be // deleted by an automated process after the broadcast ends. - The // liveStreams.list method does not list non-reusable streams if you // call the method and set the mine parameter to true. The only way to // use that method to retrieve the resource for a non-reusable stream is // to use the id parameter to identify the stream. IsReusable bool `json:"isReusable,omitempty"` // ForceSendFields is a list of field names (e.g. // "ClosedCaptionsIngestionUrl") to unconditionally include in API // requests. By default, fields with empty or default values are omitted // from API requests. However, any non-pointer, non-interface field // appearing in ForceSendFields will be sent to the server regardless of // whether the field is empty or not. This may be used to include empty // fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. // "ClosedCaptionsIngestionUrl") to include in API requests with the // JSON null value. By default, fields with empty values are omitted // from API requests. However, any field with an empty value appearing // in NullFields will be sent to the server as null. It is an error if a // field in this list has a non-empty value. This may be used to include // null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamContentDetails) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamHealthStatus struct { // ConfigurationIssues: The configurations issues on this stream ConfigurationIssues []*LiveStreamConfigurationIssue `json:"configurationIssues,omitempty"` // LastUpdateTimeSeconds: The last time this status was updated (in // seconds) LastUpdateTimeSeconds uint64 `json:"lastUpdateTimeSeconds,omitempty,string"` // Status: The status code of this stream // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ConfigurationIssues") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *LiveStreamHealthStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamHealthStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of live streams that match the request criteria. Items []*LiveStream `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#liveStreamListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` PageInfo *PageInfo `json:"pageInfo,omitempty"` // PrevPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the previous page in the result set. PrevPageToken string `json:"prevPageToken,omitempty"` TokenPagination *TokenPagination `json:"tokenPagination,omitempty"` // VisitorId: The visitorId identifies the visitor. VisitorId string `json:"visitorId,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamListResponse) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LiveStreamSnippet struct { // ChannelId: The ID that YouTube uses to uniquely identify the channel // that is transmitting the stream. ChannelId string `json:"channelId,omitempty"` // Description: The stream's description. The value cannot be longer // than 10000 characters. Description string `json:"description,omitempty"` IsDefaultStream bool `json:"isDefaultStream,omitempty"` // PublishedAt: The date and time that the stream was created. 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamSnippet) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // LiveStreamStatus: Brief description of the live stream status. type LiveStreamStatus struct { // HealthStatus: The health status of the stream. HealthStatus *LiveStreamHealthStatus `json:"healthStatus,omitempty"` // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "HealthStatus") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LiveStreamStatus) MarshalJSON() ([]byte, error) { type NoMethod LiveStreamStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LocalizedProperty struct { Default string `json:"default,omitempty"` // DefaultLanguage: The language of the default property. DefaultLanguage *LanguageTag `json:"defaultLanguage,omitempty"` Localized []*LocalizedString `json:"localized,omitempty"` // ForceSendFields is a list of field names (e.g. "Default") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Default") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LocalizedProperty) MarshalJSON() ([]byte, error) { type NoMethod LocalizedProperty raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type LocalizedString struct { Language string `json:"language,omitempty"` Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Language") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Language") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *LocalizedString) MarshalJSON() ([]byte, error) { type NoMethod LocalizedString raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *Member) MarshalJSON() ([]byte, error) { type NoMethod Member raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *MemberListResponse) MarshalJSON() ([]byte, error) { type NoMethod MemberListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatorChannelId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *MemberSnippet) MarshalJSON() ([]byte, error) { type NoMethod MemberSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AccessibleLevels") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *MembershipsDetails) MarshalJSON() ([]byte, error) { type NoMethod MembershipsDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MemberSince") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *MembershipsDuration) MarshalJSON() ([]byte, error) { type NoMethod MembershipsDuration raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Level") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *MembershipsDurationAtLevel) MarshalJSON() ([]byte, error) { type NoMethod MembershipsDurationAtLevel raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *MembershipsLevel) MarshalJSON() ([]byte, error) { type NoMethod MembershipsLevel raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *MembershipsLevelListResponse) MarshalJSON() ([]byte, error) { type NoMethod MembershipsLevelListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreatorChannelId") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *MembershipsLevelSnippet) MarshalJSON() ([]byte, error) { type NoMethod MembershipsLevelSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MonitorStreamInfo: Settings and Info of the monitor stream type MonitorStreamInfo struct { // BroadcastStreamDelayMs: If you have set the enableMonitorStream // property to true, then this property determines the length of the // live broadcast delay. BroadcastStreamDelayMs int64 `json:"broadcastStreamDelayMs,omitempty"` // EmbedHtml: HTML code that embeds a player that plays the monitor // stream. EmbedHtml string `json:"embedHtml,omitempty"` // EnableMonitorStream: This value determines whether the monitor stream // is enabled for the broadcast. If the monitor stream is enabled, then // YouTube will broadcast the event content on a special stream intended // only for the broadcaster's consumption. The broadcaster can use the // stream to review the event content and also to identify the optimal // times to insert cuepoints. You need to set this value to true if you // intend to have a broadcast delay for your event. *Note:* This // property cannot be updated once the broadcast is in the testing or // live state. EnableMonitorStream *bool `json:"enableMonitorStream,omitempty"` // ForceSendFields is a list of field names (e.g. // "BroadcastStreamDelayMs") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. However, any non-pointer, non-interface field appearing in // ForceSendFields will be sent to the server regardless of whether the // field is empty or not. This may be used to include empty fields in // Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BroadcastStreamDelayMs") // to include in API requests with the JSON null value. By default, // fields with empty values are omitted from API requests. However, any // field with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *MonitorStreamInfo) MarshalJSON() ([]byte, error) { type NoMethod MonitorStreamInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResultsPerPage") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *PageInfo) MarshalJSON() ([]byte, error) { type NoMethod PageInfo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Playlist: A *playlist* resource represents a YouTube playlist. A // playlist is a collection of videos that can be viewed sequentially // and shared with other users. A playlist can contain up to 200 videos, // and YouTube does not limit the number of playlists that each user // creates. By default, playlists are publicly visible to other users, // but playlists can be public or private. YouTube also uses playlists // to identify special collections of videos for a channel, such as: - // uploaded videos - favorite videos - positively rated (liked) videos - // watch history - watch later To be more specific, these lists are // associated with a channel, which is a collection of a person, group, // or company's videos, playlists, and other YouTube information. You // can retrieve the playlist IDs for each of these lists from the // channel resource for a given channel. You can then use the // playlistItems.list method to retrieve any of those lists. You can // also add or remove items from those lists by calling the // playlistItems.insert and playlistItems.delete methods. type Playlist struct { // ContentDetails: The contentDetails object contains information like // video count. ContentDetails *PlaylistContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the playlist. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlist". Kind string `json:"kind,omitempty"` // Localizations: Localizations for different languages Localizations map[string]PlaylistLocalization `json:"localizations,omitempty"` // Player: The player object contains information that you would use to // play the playlist in an embedded player. Player *PlaylistPlayer `json:"player,omitempty"` // Snippet: The snippet object contains basic details about the // playlist, such as its title and description. Snippet *PlaylistSnippet `json:"snippet,omitempty"` // Status: The status object contains status information for the // playlist. Status *PlaylistStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *Playlist) MarshalJSON() ([]byte, error) { type NoMethod Playlist raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistContentDetails struct { // ItemCount: The number of videos in the playlist. ItemCount int64 `json:"itemCount,omitempty"` // ForceSendFields is a list of field names (e.g. "ItemCount") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ItemCount") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistContentDetails) MarshalJSON() ([]byte, error) { type NoMethod PlaylistContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistItem: A *playlistItem* resource identifies another resource, // such as a video, that is included in a playlist. In addition, the // playlistItem resource contains details about the included resource // that pertain specifically to how that resource is used in that // playlist. YouTube uses playlists to identify special collections of // videos for a channel, such as: - uploaded videos - favorite videos - // positively rated (liked) videos - watch history - watch later To be // more specific, these lists are associated with a channel, which is a // collection of a person, group, or company's videos, playlists, and // other YouTube information. You can retrieve the playlist IDs for each // of these lists from the channel resource for a given channel. You can // then use the playlistItems.list method to retrieve any of those // lists. You can also add or remove items from those lists by calling // the playlistItems.insert and playlistItems.delete methods. For // example, if a user gives a positive rating to a video, you would // insert that video into the liked videos playlist for that user's // channel. type PlaylistItem struct { // ContentDetails: The contentDetails object is included in the resource // if the included item is a YouTube video. The object contains // additional information about the video. ContentDetails *PlaylistItemContentDetails `json:"contentDetails,omitempty"` // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // Id: The ID that YouTube uses to uniquely identify the playlist item. Id string `json:"id,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlistItem". Kind string `json:"kind,omitempty"` // Snippet: The snippet object contains basic details about the playlist // item, such as its title and position in the playlist. Snippet *PlaylistItemSnippet `json:"snippet,omitempty"` // Status: The status object contains information about the playlist // item's privacy status. Status *PlaylistItemStatus `json:"status,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentDetails") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ContentDetails") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *PlaylistItem) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistItemContentDetails struct { // EndAt: The time, measured in seconds from the start of the video, // when the video should stop playing. (The playlist owner can specify // the times when the video should start and stop playing when the video // is played in the context of the playlist.) By default, assume that // the video.endTime is the end of the video. EndAt string `json:"endAt,omitempty"` // Note: A user-generated note for this item. Note string `json:"note,omitempty"` // StartAt: The time, measured in seconds from the start of the video, // when the video should start playing. (The playlist owner can specify // the times when the video should start and stop playing when the video // is played in the context of the playlist.) The default value is 0. StartAt string `json:"startAt,omitempty"` // VideoId: The ID that YouTube uses to uniquely identify a video. To // retrieve the video resource, set the id query parameter to this value // in your API request. VideoId string `json:"videoId,omitempty"` // VideoPublishedAt: The date and time that the video was published to // YouTube. 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EndAt") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemContentDetails) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemContentDetails raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistItemListResponse struct { Etag 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistItemSnippet: Basic details about a playlist, including title, // description and thumbnails. 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ChannelId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemSnippet) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemSnippet raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistItemStatus: Information about the playlist item's privacy // status. type PlaylistItemStatus struct { // PrivacyStatus: This resource's privacy status. // // Possible values: // "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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PrivacyStatus") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistItemStatus) MarshalJSON() ([]byte, error) { type NoMethod PlaylistItemStatus raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistListResponse struct { // Etag: Etag of this resource. Etag string `json:"etag,omitempty"` // EventId: Serialized EventId of the request which produced this // response. EventId string `json:"eventId,omitempty"` // Items: A list of playlists that match the request criteria Items []*Playlist `json:"items,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed // string "youtube#playlistListResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The token that can be used as the value of the // pageToken parameter to retrieve the next page in the result set. NextPageToken string `json:"nextPageToken,omitempty"` // PageInfo: 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. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistListResponse) MarshalJSON() ([]byte, error) { type NoMethod PlaylistListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // PlaylistLocalization: Playlist localization setting type PlaylistLocalization struct { // Description: The localized strings for playlist's description. Description string `json:"description,omitempty"` // Title: The localized strings for playlist's title. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *PlaylistLocalization) MarshalJSON() ([]byte, error) { type NoMethod PlaylistLocalization raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type PlaylistPlayer struct { // EmbedHtml: An