blob: 0c971562e69ba229905668cb832e80b3ba4f97ab [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// 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.
//
// See https://developers.google.com/youtube/v3
//
// Usage example:
//
// import "google.golang.org/api/youtube/v3"
// ...
// youtubeService, err := youtube.New(oauthHttpClient)
package youtube // import "google.golang.org/api/youtube/v3"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "youtube:v3"
const apiName = "youtube"
const apiVersion = "v3"
const basePath = "https://www.googleapis.com/youtube/v3/"
// OAuth2 scopes used by this API.
const (
// Manage your YouTube account
YoutubeScope = "https://www.googleapis.com/auth/youtube"
// See, edit, and permanently delete your YouTube videos, ratings,
// comments and captions
YoutubeForceSslScope = "https://www.googleapis.com/auth/youtube.force-ssl"
// View your YouTube account
YoutubeReadonlyScope = "https://www.googleapis.com/auth/youtube.readonly"
// Manage your YouTube videos
YoutubeUploadScope = "https://www.googleapis.com/auth/youtube.upload"
// View and manage your assets and associated content on YouTube
YoutubepartnerScope = "https://www.googleapis.com/auth/youtubepartner"
// View private information of your YouTube channel relevant during the
// audit process with a YouTube partner
YoutubepartnerChannelAuditScope = "https://www.googleapis.com/auth/youtubepartner-channel-audit"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Activities = NewActivitiesService(s)
s.Captions = NewCaptionsService(s)
s.ChannelBanners = NewChannelBannersService(s)
s.ChannelSections = NewChannelSectionsService(s)
s.Channels = NewChannelsService(s)
s.CommentThreads = NewCommentThreadsService(s)
s.Comments = NewCommentsService(s)
s.GuideCategories = NewGuideCategoriesService(s)
s.I18nLanguages = NewI18nLanguagesService(s)
s.I18nRegions = NewI18nRegionsService(s)
s.LiveBroadcasts = NewLiveBroadcastsService(s)
s.LiveChatBans = NewLiveChatBansService(s)
s.LiveChatMessages = NewLiveChatMessagesService(s)
s.LiveChatModerators = NewLiveChatModeratorsService(s)
s.LiveStreams = NewLiveStreamsService(s)
s.PlaylistItems = NewPlaylistItemsService(s)
s.Playlists = NewPlaylistsService(s)
s.Search = NewSearchService(s)
s.Sponsors = NewSponsorsService(s)
s.Subscriptions = NewSubscriptionsService(s)
s.SuperChatEvents = NewSuperChatEventsService(s)
s.Thumbnails = NewThumbnailsService(s)
s.VideoAbuseReportReasons = NewVideoAbuseReportReasonsService(s)
s.VideoCategories = NewVideoCategoriesService(s)
s.Videos = NewVideosService(s)
s.Watermarks = NewWatermarksService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Activities *ActivitiesService
Captions *CaptionsService
ChannelBanners *ChannelBannersService
ChannelSections *ChannelSectionsService
Channels *ChannelsService
CommentThreads *CommentThreadsService
Comments *CommentsService
GuideCategories *GuideCategoriesService
I18nLanguages *I18nLanguagesService
I18nRegions *I18nRegionsService
LiveBroadcasts *LiveBroadcastsService
LiveChatBans *LiveChatBansService
LiveChatMessages *LiveChatMessagesService
LiveChatModerators *LiveChatModeratorsService
LiveStreams *LiveStreamsService
PlaylistItems *PlaylistItemsService
Playlists *PlaylistsService
Search *SearchService
Sponsors *SponsorsService
Subscriptions *SubscriptionsService
SuperChatEvents *SuperChatEventsService
Thumbnails *ThumbnailsService
VideoAbuseReportReasons *VideoAbuseReportReasonsService
VideoCategories *VideoCategoriesService
Videos *VideosService
Watermarks *WatermarksService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewActivitiesService(s *Service) *ActivitiesService {
rs := &ActivitiesService{s: s}
return rs
}
type ActivitiesService struct {
s *Service
}
func NewCaptionsService(s *Service) *CaptionsService {
rs := &CaptionsService{s: s}
return rs
}
type CaptionsService struct {
s *Service
}
func NewChannelBannersService(s *Service) *ChannelBannersService {
rs := &ChannelBannersService{s: s}
return rs
}
type ChannelBannersService struct {
s *Service
}
func NewChannelSectionsService(s *Service) *ChannelSectionsService {
rs := &ChannelSectionsService{s: s}
return rs
}
type ChannelSectionsService struct {
s *Service
}
func NewChannelsService(s *Service) *ChannelsService {
rs := &ChannelsService{s: s}
return rs
}
type ChannelsService struct {
s *Service
}
func NewCommentThreadsService(s *Service) *CommentThreadsService {
rs := &CommentThreadsService{s: s}
return rs
}
type CommentThreadsService struct {
s *Service
}
func NewCommentsService(s *Service) *CommentsService {
rs := &CommentsService{s: s}
return rs
}
type CommentsService struct {
s *Service
}
func NewGuideCategoriesService(s *Service) *GuideCategoriesService {
rs := &GuideCategoriesService{s: s}
return rs
}
type GuideCategoriesService struct {
s *Service
}
func NewI18nLanguagesService(s *Service) *I18nLanguagesService {
rs := &I18nLanguagesService{s: s}
return rs
}
type I18nLanguagesService struct {
s *Service
}
func NewI18nRegionsService(s *Service) *I18nRegionsService {
rs := &I18nRegionsService{s: s}
return rs
}
type I18nRegionsService struct {
s *Service
}
func NewLiveBroadcastsService(s *Service) *LiveBroadcastsService {
rs := &LiveBroadcastsService{s: s}
return rs
}
type LiveBroadcastsService struct {
s *Service
}
func NewLiveChatBansService(s *Service) *LiveChatBansService {
rs := &LiveChatBansService{s: s}
return rs
}
type LiveChatBansService struct {
s *Service
}
func NewLiveChatMessagesService(s *Service) *LiveChatMessagesService {
rs := &LiveChatMessagesService{s: s}
return rs
}
type LiveChatMessagesService struct {
s *Service
}
func NewLiveChatModeratorsService(s *Service) *LiveChatModeratorsService {
rs := &LiveChatModeratorsService{s: s}
return rs
}
type LiveChatModeratorsService struct {
s *Service
}
func NewLiveStreamsService(s *Service) *LiveStreamsService {
rs := &LiveStreamsService{s: s}
return rs
}
type LiveStreamsService struct {
s *Service
}
func NewPlaylistItemsService(s *Service) *PlaylistItemsService {
rs := &PlaylistItemsService{s: s}
return rs
}
type PlaylistItemsService struct {
s *Service
}
func NewPlaylistsService(s *Service) *PlaylistsService {
rs := &PlaylistsService{s: s}
return rs
}
type PlaylistsService struct {
s *Service
}
func NewSearchService(s *Service) *SearchService {
rs := &SearchService{s: s}
return rs
}
type SearchService struct {
s *Service
}
func NewSponsorsService(s *Service) *SponsorsService {
rs := &SponsorsService{s: s}
return rs
}
type SponsorsService struct {
s *Service
}
func NewSubscriptionsService(s *Service) *SubscriptionsService {
rs := &SubscriptionsService{s: s}
return rs
}
type SubscriptionsService struct {
s *Service
}
func NewSuperChatEventsService(s *Service) *SuperChatEventsService {
rs := &SuperChatEventsService{s: s}
return rs
}
type SuperChatEventsService struct {
s *Service
}
func NewThumbnailsService(s *Service) *ThumbnailsService {
rs := &ThumbnailsService{s: s}
return rs
}
type ThumbnailsService struct {
s *Service
}
func NewVideoAbuseReportReasonsService(s *Service) *VideoAbuseReportReasonsService {
rs := &VideoAbuseReportReasonsService{s: s}
return rs
}
type VideoAbuseReportReasonsService struct {
s *Service
}
func NewVideoCategoriesService(s *Service) *VideoCategoriesService {
rs := &VideoCategoriesService{s: s}
return rs
}
type VideoCategoriesService struct {
s *Service
}
func NewVideosService(s *Service) *VideosService {
rs := &VideosService{s: s}
return rs
}
type VideosService struct {
s *Service
}
func NewWatermarksService(s *Service) *WatermarksService {
rs := &WatermarksService{s: s}
return rs
}
type WatermarksService struct {
s *Service
}
// AccessPolicy: Rights management policy for YouTube resources.
type AccessPolicy struct {
// Allowed: The value of allowed indicates whether the access to the
// policy is allowed or denied by default.
Allowed bool `json:"allowed,omitempty"`
// Exception: A list of region codes that identify countries where the
// default policy do not apply.
Exception []string `json:"exception,omitempty"`
// ForceSendFields is a list of field names (e.g. "Allowed") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Allowed") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AccessPolicy) MarshalJSON() ([]byte, error) {
type NoMethod AccessPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Activity: An activity resource contains information about an action
// that a particular channel, or user, has taken on YouTube.The actions
// reported in activity feeds include rating a video, sharing a video,
// marking a video as a favorite, commenting on a video, uploading a
// video, and so forth. Each activity resource identifies the type of
// action, the channel associated with the action, and the resource(s)
// associated with the action, such as the video that was rated or
// uploaded.
type Activity struct {
// ContentDetails: The contentDetails object contains information about
// the content associated with the activity. For example, if the
// snippet.type value is videoRated, then the contentDetails object's
// content identifies the rated video.
ContentDetails *ActivityContentDetails `json:"contentDetails,omitempty"`
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Id: The ID that YouTube uses to uniquely identify the activity.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#activity".
Kind string `json:"kind,omitempty"`
// Snippet: The snippet object contains basic details about the
// activity, including the activity's type and group ID.
Snippet *ActivitySnippet `json:"snippet,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ContentDetails") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentDetails") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Activity) MarshalJSON() ([]byte, error) {
type NoMethod Activity
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetails: Details about the content of an activity: the
// video that was shared, the channel that was subscribed to, etc.
type ActivityContentDetails struct {
// Bulletin: The bulletin object contains details about a channel
// bulletin post. This object is only present if the snippet.type is
// bulletin.
Bulletin *ActivityContentDetailsBulletin `json:"bulletin,omitempty"`
// ChannelItem: The channelItem object contains details about a resource
// which was added to a channel. This property is only present if the
// snippet.type is channelItem.
ChannelItem *ActivityContentDetailsChannelItem `json:"channelItem,omitempty"`
// Comment: The comment object contains information about a resource
// that received a comment. This property is only present if the
// snippet.type is comment.
Comment *ActivityContentDetailsComment `json:"comment,omitempty"`
// Favorite: The favorite object contains information about a video that
// was marked as a favorite video. This property is only present if the
// snippet.type is favorite.
Favorite *ActivityContentDetailsFavorite `json:"favorite,omitempty"`
// Like: The like object contains information about a resource that
// received a positive (like) rating. This property is only present if
// the snippet.type is like.
Like *ActivityContentDetailsLike `json:"like,omitempty"`
// PlaylistItem: The playlistItem object contains information about a
// new playlist item. This property is only present if the snippet.type
// is playlistItem.
PlaylistItem *ActivityContentDetailsPlaylistItem `json:"playlistItem,omitempty"`
// PromotedItem: The promotedItem object contains details about a
// resource which is being promoted. This property is only present if
// the snippet.type is promotedItem.
PromotedItem *ActivityContentDetailsPromotedItem `json:"promotedItem,omitempty"`
// Recommendation: The recommendation object contains information about
// a recommended resource. This property is only present if the
// snippet.type is recommendation.
Recommendation *ActivityContentDetailsRecommendation `json:"recommendation,omitempty"`
// Social: The social object contains details about a social network
// post. This property is only present if the snippet.type is social.
Social *ActivityContentDetailsSocial `json:"social,omitempty"`
// Subscription: The subscription object contains information about a
// channel that a user subscribed to. This property is only present if
// the snippet.type is subscription.
Subscription *ActivityContentDetailsSubscription `json:"subscription,omitempty"`
// Upload: The upload object contains information about the uploaded
// video. This property is only present if the snippet.type is upload.
Upload *ActivityContentDetailsUpload `json:"upload,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bulletin") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bulletin") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetails) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsBulletin: Details about a channel bulletin
// post.
type ActivityContentDetailsBulletin struct {
// ResourceId: The resourceId object contains information that
// identifies the resource associated with a bulletin post.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsBulletin) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsBulletin
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsChannelItem: Details about a resource which was
// added to a channel.
type ActivityContentDetailsChannelItem struct {
// ResourceId: The resourceId object contains information that
// identifies the resource that was added to the channel.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsChannelItem) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsChannelItem
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsComment: Information about a resource that
// received a comment.
type ActivityContentDetailsComment struct {
// ResourceId: The resourceId object contains information that
// identifies the resource associated with the comment.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsComment) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsComment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsFavorite: Information about a video that was
// marked as a favorite video.
type ActivityContentDetailsFavorite struct {
// ResourceId: The resourceId object contains information that
// identifies the resource that was marked as a favorite.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsFavorite) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsFavorite
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsLike: Information about a resource that
// received a positive (like) rating.
type ActivityContentDetailsLike struct {
// ResourceId: The resourceId object contains information that
// identifies the rated resource.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsLike) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsLike
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsPlaylistItem: Information about a new playlist
// item.
type ActivityContentDetailsPlaylistItem struct {
// PlaylistId: The value that YouTube uses to uniquely identify the
// playlist.
PlaylistId string `json:"playlistId,omitempty"`
// PlaylistItemId: ID of the item within the playlist.
PlaylistItemId string `json:"playlistItemId,omitempty"`
// ResourceId: The resourceId object contains information about the
// resource that was added to the playlist.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "PlaylistId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PlaylistId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsPlaylistItem) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsPlaylistItem
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsPromotedItem: Details about a resource which is
// being promoted.
type ActivityContentDetailsPromotedItem struct {
// AdTag: The URL the client should fetch to request a promoted item.
AdTag string `json:"adTag,omitempty"`
// ClickTrackingUrl: The URL the client should ping to indicate that the
// user clicked through on this promoted item.
ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"`
// CreativeViewUrl: The URL the client should ping to indicate that the
// user was shown this promoted item.
CreativeViewUrl string `json:"creativeViewUrl,omitempty"`
// CtaType: The type of call-to-action, a message to the user indicating
// action that can be taken.
//
// Possible values:
// "unspecified"
// "visitAdvertiserSite"
CtaType string `json:"ctaType,omitempty"`
// CustomCtaButtonText: The custom call-to-action button text. If
// specified, it will override the default button text for the cta_type.
CustomCtaButtonText string `json:"customCtaButtonText,omitempty"`
// DescriptionText: The text description to accompany the promoted item.
DescriptionText string `json:"descriptionText,omitempty"`
// DestinationUrl: The URL the client should direct the user to, if the
// user chooses to visit the advertiser's website.
DestinationUrl string `json:"destinationUrl,omitempty"`
// ForecastingUrl: The list of forecasting URLs. The client should ping
// all of these URLs when a promoted item is not available, to indicate
// that a promoted item could have been shown.
ForecastingUrl []string `json:"forecastingUrl,omitempty"`
// ImpressionUrl: The list of impression URLs. The client should ping
// all of these URLs to indicate that the user was shown this promoted
// item.
ImpressionUrl []string `json:"impressionUrl,omitempty"`
// VideoId: The ID that YouTube uses to uniquely identify the promoted
// video.
VideoId string `json:"videoId,omitempty"`
// ForceSendFields is a list of field names (e.g. "AdTag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AdTag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsPromotedItem) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsPromotedItem
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsRecommendation: Information that identifies the
// recommended resource.
type ActivityContentDetailsRecommendation struct {
// Reason: The reason that the resource is recommended to the user.
//
// Possible values:
// "unspecified"
// "videoFavorited"
// "videoLiked"
// "videoWatched"
Reason string `json:"reason,omitempty"`
// ResourceId: The resourceId object contains information that
// identifies the recommended resource.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// SeedResourceId: The seedResourceId object contains information about
// the resource that caused the recommendation.
SeedResourceId *ResourceId `json:"seedResourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Reason") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Reason") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsRecommendation) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsRecommendation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsSocial: Details about a social network post.
type ActivityContentDetailsSocial struct {
// Author: The author of the social network post.
Author string `json:"author,omitempty"`
// ImageUrl: An image of the post's author.
ImageUrl string `json:"imageUrl,omitempty"`
// ReferenceUrl: The URL of the social network post.
ReferenceUrl string `json:"referenceUrl,omitempty"`
// ResourceId: The resourceId object encapsulates information that
// identifies the resource associated with a social network post.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// Type: The name of the social network.
//
// Possible values:
// "facebook"
// "googlePlus"
// "twitter"
// "unspecified"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Author") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Author") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsSocial) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsSocial
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsSubscription: Information about a channel that
// a user subscribed to.
type ActivityContentDetailsSubscription struct {
// ResourceId: The resourceId object contains information that
// identifies the resource that the user subscribed to.
ResourceId *ResourceId `json:"resourceId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsSubscription) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsSubscription
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivityContentDetailsUpload: Information about the uploaded video.
type ActivityContentDetailsUpload struct {
// VideoId: The ID that YouTube uses to uniquely identify the uploaded
// video.
VideoId string `json:"videoId,omitempty"`
// ForceSendFields is a list of field names (e.g. "VideoId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "VideoId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityContentDetailsUpload) MarshalJSON() ([]byte, error) {
type NoMethod ActivityContentDetailsUpload
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ActivityListResponse struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// EventId: Serialized EventId of the request which produced this
// response.
EventId string `json:"eventId,omitempty"`
// Items: A list of activities, or events, that match the request
// criteria.
Items []*Activity `json:"items,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#activityListResponse".
Kind string `json:"kind,omitempty"`
// NextPageToken: The token that can be used as the value of the
// pageToken parameter to retrieve the next page in the result set.
NextPageToken string `json:"nextPageToken,omitempty"`
PageInfo *PageInfo `json:"pageInfo,omitempty"`
// PrevPageToken: The token that can be used as the value of the
// pageToken parameter to retrieve the previous page in the result set.
PrevPageToken string `json:"prevPageToken,omitempty"`
TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
// VisitorId: The visitorId identifies the visitor.
VisitorId string `json:"visitorId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivityListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ActivityListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ActivitySnippet: Basic details about an activity, including title,
// description, thumbnails, activity type and group.
type ActivitySnippet struct {
// ChannelId: The ID that YouTube uses to uniquely identify the channel
// associated with the activity.
ChannelId string `json:"channelId,omitempty"`
// ChannelTitle: Channel title for the channel responsible for this
// activity
ChannelTitle string `json:"channelTitle,omitempty"`
// Description: The description of the resource primarily associated
// with the activity.
Description string `json:"description,omitempty"`
// GroupId: The group ID associated with the activity. A group ID
// identifies user events that are associated with the same user and
// resource. For example, if a user rates a video and marks the same
// video as a favorite, the entries for those events would have the same
// group ID in the user's activity feed. In your user interface, you can
// avoid repetition by grouping events with the same groupId value.
GroupId string `json:"groupId,omitempty"`
// PublishedAt: The date and time that the video was uploaded. The value
// is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
PublishedAt string `json:"publishedAt,omitempty"`
// Thumbnails: A map of thumbnail images associated with the resource
// that is primarily associated with the activity. For each object in
// the map, the key is the name of the thumbnail image, and the value is
// an object that contains other information about the thumbnail.
Thumbnails *ThumbnailDetails `json:"thumbnails,omitempty"`
// Title: The title of the resource primarily associated with the
// activity.
Title string `json:"title,omitempty"`
// Type: The type of activity that the resource describes.
//
// Possible values:
// "bulletin"
// "channelItem"
// "comment"
// "favorite"
// "like"
// "playlistItem"
// "promotedItem"
// "recommendation"
// "social"
// "subscription"
// "upload"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChannelId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChannelId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ActivitySnippet) MarshalJSON() ([]byte, error) {
type NoMethod ActivitySnippet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Caption: A caption resource represents a YouTube caption track. A
// caption track is associated with exactly one YouTube video.
type Caption struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Id: The ID that YouTube uses to uniquely identify the caption track.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#caption".
Kind string `json:"kind,omitempty"`
// Snippet: The snippet object contains basic details about the caption.
Snippet *CaptionSnippet `json:"snippet,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Caption) MarshalJSON() ([]byte, error) {
type NoMethod Caption
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CaptionListResponse struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// EventId: Serialized EventId of the request which produced this
// response.
EventId string `json:"eventId,omitempty"`
// Items: A list of captions that match the request criteria.
Items []*Caption `json:"items,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#captionListResponse".
Kind string `json:"kind,omitempty"`
// VisitorId: The visitorId identifies the visitor.
VisitorId string `json:"visitorId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CaptionListResponse) MarshalJSON() ([]byte, error) {
type NoMethod CaptionListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CaptionSnippet: Basic details about a caption track, such as its
// language and name.
type CaptionSnippet struct {
// AudioTrackType: The type of audio track associated with the caption
// track.
//
// Possible values:
// "commentary"
// "descriptive"
// "primary"
// "unknown"
AudioTrackType string `json:"audioTrackType,omitempty"`
// FailureReason: The reason that YouTube failed to process the caption
// track. This property is only present if the state property's value is
// failed.
//
// Possible values:
// "processingFailed"
// "unknownFormat"
// "unsupportedFormat"
FailureReason string `json:"failureReason,omitempty"`
// IsAutoSynced: Indicates whether YouTube synchronized the caption
// track to the audio track in the video. The value will be true if a
// sync was explicitly requested when the caption track was uploaded.
// For example, when calling the captions.insert or captions.update
// methods, you can set the sync parameter to true to instruct YouTube
// to sync the uploaded track to the video. If the value is false,
// YouTube uses the time codes in the uploaded caption track to
// determine when to display captions.
IsAutoSynced bool `json:"isAutoSynced,omitempty"`
// IsCC: Indicates whether the track contains closed captions for the
// deaf and hard of hearing. The default value is false.
IsCC bool `json:"isCC,omitempty"`
// IsDraft: Indicates whether the caption track is a draft. If the value
// is true, then the track is not publicly visible. The default value is
// false.
IsDraft bool `json:"isDraft,omitempty"`
// IsEasyReader: Indicates whether caption track is formatted for "easy
// reader," meaning it is at a third-grade level for language learners.
// The default value is false.
IsEasyReader bool `json:"isEasyReader,omitempty"`
// IsLarge: Indicates whether the caption track uses large text for the
// vision-impaired. The default value is false.
IsLarge bool `json:"isLarge,omitempty"`
// Language: The language of the caption track. The property value is a
// BCP-47 language tag.
Language string `json:"language,omitempty"`
// LastUpdated: The date and time when the caption track was last
// updated. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
// format.
LastUpdated string `json:"lastUpdated,omitempty"`
// Name: The name of the caption track. The name is intended to be
// visible to the user as an option during playback.
Name string `json:"name,omitempty"`
// Status: The caption track's status.
//
// Possible values:
// "failed"
// "serving"
// "syncing"
Status string `json:"status,omitempty"`
// TrackKind: The caption track's type.
//
// Possible values:
// "ASR"
// "forced"
// "standard"
TrackKind string `json:"trackKind,omitempty"`
// VideoId: The ID that YouTube uses to uniquely identify the video
// associated with the caption track.
VideoId string `json:"videoId,omitempty"`
// ForceSendFields is a list of field names (e.g. "AudioTrackType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AudioTrackType") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CaptionSnippet) MarshalJSON() ([]byte, error) {
type NoMethod CaptionSnippet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CdnSettings: Brief description of the live stream cdn settings.
type CdnSettings struct {
// Format: The format of the video stream that you are sending to
// Youtube.
Format string `json:"format,omitempty"`
// FrameRate: The frame rate of the inbound video data.
//
// Possible values:
// "30fps"
// "60fps"
// "variable"
FrameRate string `json:"frameRate,omitempty"`
// IngestionInfo: The ingestionInfo object contains information that
// YouTube provides that you need to transmit your RTMP or HTTP stream
// to YouTube.
IngestionInfo *IngestionInfo `json:"ingestionInfo,omitempty"`
// IngestionType: The method or protocol used to transmit the video
// stream.
//
// Possible values:
// "dash"
// "rtmp"
IngestionType string `json:"ingestionType,omitempty"`
// Resolution: The resolution of the inbound video data.
//
// Possible values:
// "1080p"
// "1440p"
// "2160p"
// "240p"
// "360p"
// "480p"
// "720p"
// "variable"
Resolution string `json:"resolution,omitempty"`
// ForceSendFields is a list of field names (e.g. "Format") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Format") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CdnSettings) MarshalJSON() ([]byte, error) {
type NoMethod CdnSettings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Channel: A channel resource contains information about a YouTube
// channel.
type Channel struct {
// AuditDetails: The auditionDetails object encapsulates channel data
// that is relevant for YouTube Partners during the audition process.
AuditDetails *ChannelAuditDetails `json:"auditDetails,omitempty"`
// BrandingSettings: The brandingSettings object encapsulates
// information about the branding of the channel.
BrandingSettings *ChannelBrandingSettings `json:"brandingSettings,omitempty"`
// ContentDetails: The contentDetails object encapsulates information
// about the channel's content.
ContentDetails *ChannelContentDetails `json:"contentDetails,omitempty"`
// ContentOwnerDetails: The contentOwnerDetails object encapsulates
// channel data that is relevant for YouTube Partners linked with the
// channel.
ContentOwnerDetails *ChannelContentOwnerDetails `json:"contentOwnerDetails,omitempty"`
// ConversionPings: The conversionPings object encapsulates information
// about conversion pings that need to be respected by the channel.
ConversionPings *ChannelConversionPings `json:"conversionPings,omitempty"`
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Id: The ID that YouTube uses to uniquely identify the channel.
Id string `json:"id,omitempty"`
// InvideoPromotion: The invideoPromotion object encapsulates
// information about promotion campaign associated with the channel.
InvideoPromotion *InvideoPromotion `json:"invideoPromotion,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#channel".
Kind string `json:"kind,omitempty"`
// Localizations: Localizations for different languages
Localizations map[string]ChannelLocalization `json:"localizations,omitempty"`
// Snippet: The snippet object contains basic details about the channel,
// such as its title, description, and thumbnail images.
Snippet *ChannelSnippet `json:"snippet,omitempty"`
// Statistics: The statistics object encapsulates statistics for the
// channel.
Statistics *ChannelStatistics `json:"statistics,omitempty"`
// Status: The status object encapsulates information about the privacy
// status of the channel.
Status *ChannelStatus `json:"status,omitempty"`
// TopicDetails: The topicDetails object encapsulates information about
// Freebase topics associated with the channel.
TopicDetails *ChannelTopicDetails `json:"topicDetails,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AuditDetails") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuditDetails") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Channel) MarshalJSON() ([]byte, error) {
type NoMethod Channel
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelAuditDetails: The auditDetails object encapsulates channel
// data that is relevant for YouTube Partners during the audit process.
type ChannelAuditDetails struct {
// CommunityGuidelinesGoodStanding: Whether or not the channel respects
// the community guidelines.
CommunityGuidelinesGoodStanding bool `json:"communityGuidelinesGoodStanding,omitempty"`
// ContentIdClaimsGoodStanding: Whether or not the channel has any
// unresolved claims.
ContentIdClaimsGoodStanding bool `json:"contentIdClaimsGoodStanding,omitempty"`
// CopyrightStrikesGoodStanding: Whether or not the channel has any
// copyright strikes.
CopyrightStrikesGoodStanding bool `json:"copyrightStrikesGoodStanding,omitempty"`
// OverallGoodStanding: Describes the general state of the channel. This
// field will always show if there are any issues whatsoever with the
// channel. Currently this field represents the result of the logical
// and operation over the community guidelines good standing, the
// copyright strikes good standing and the content ID claims good
// standing, but this may change in the future.
OverallGoodStanding bool `json:"overallGoodStanding,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "CommunityGuidelinesGoodStanding") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "CommunityGuidelinesGoodStanding") to include in API requests with
// the JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelAuditDetails) MarshalJSON() ([]byte, error) {
type NoMethod ChannelAuditDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelBannerResource: A channel banner returned as the response to a
// channel_banner.insert call.
type ChannelBannerResource struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#channelBannerResource".
Kind string `json:"kind,omitempty"`
// Url: The URL of this banner image.
Url string `json:"url,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelBannerResource) MarshalJSON() ([]byte, error) {
type NoMethod ChannelBannerResource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelBrandingSettings: Branding properties of a YouTube channel.
type ChannelBrandingSettings struct {
// Channel: Branding properties for the channel view.
Channel *ChannelSettings `json:"channel,omitempty"`
// Hints: Additional experimental branding properties.
Hints []*PropertyValue `json:"hints,omitempty"`
// Image: Branding properties for branding images.
Image *ImageSettings `json:"image,omitempty"`
// Watch: Branding properties for the watch page.
Watch *WatchSettings `json:"watch,omitempty"`
// ForceSendFields is a list of field names (e.g. "Channel") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Channel") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelBrandingSettings) MarshalJSON() ([]byte, error) {
type NoMethod ChannelBrandingSettings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelContentDetails: Details about the content of a channel.
type ChannelContentDetails struct {
RelatedPlaylists *ChannelContentDetailsRelatedPlaylists `json:"relatedPlaylists,omitempty"`
// ForceSendFields is a list of field names (e.g. "RelatedPlaylists") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RelatedPlaylists") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ChannelContentDetails) MarshalJSON() ([]byte, error) {
type NoMethod ChannelContentDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ChannelContentDetailsRelatedPlaylists struct {
// Favorites: The ID of the playlist that contains the channel"s
// favorite videos. Use the playlistItems.insert and
// playlistItems.delete to add or remove items from that list.
Favorites string `json:"favorites,omitempty"`
// Likes: The ID of the playlist that contains the channel"s liked
// videos. Use the playlistItems.insert and playlistItems.delete to
// add or remove items from that list.
Likes string `json:"likes,omitempty"`
// Uploads: The ID of the playlist that contains the channel"s uploaded
// videos. Use the videos.insert method to upload new videos and the
// videos.delete method to delete previously uploaded videos.
Uploads string `json:"uploads,omitempty"`
// WatchHistory: The ID of the playlist that contains the channel"s
// watch history. Use the playlistItems.insert and
// playlistItems.delete to add or remove items from that list.
WatchHistory string `json:"watchHistory,omitempty"`
// WatchLater: The ID of the playlist that contains the channel"s watch
// later playlist. Use the playlistItems.insert and
// playlistItems.delete to add or remove items from that list.
WatchLater string `json:"watchLater,omitempty"`
// ForceSendFields is a list of field names (e.g. "Favorites") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Favorites") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelContentDetailsRelatedPlaylists) MarshalJSON() ([]byte, error) {
type NoMethod ChannelContentDetailsRelatedPlaylists
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelContentOwnerDetails: The contentOwnerDetails object
// encapsulates channel data that is relevant for YouTube Partners
// linked with the channel.
type ChannelContentOwnerDetails struct {
// ContentOwner: The ID of the content owner linked to the channel.
ContentOwner string `json:"contentOwner,omitempty"`
// TimeLinked: The date and time of when the channel was linked to the
// content owner. The value is specified in ISO 8601
// (YYYY-MM-DDThh:mm:ss.sZ) format.
TimeLinked string `json:"timeLinked,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContentOwner") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentOwner") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelContentOwnerDetails) MarshalJSON() ([]byte, error) {
type NoMethod ChannelContentOwnerDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelConversionPing: Pings that the app shall fire (authenticated
// by biscotti cookie). Each ping has a context, in which the app must
// fire the ping, and a url identifying the ping.
type ChannelConversionPing struct {
// Context: Defines the context of the ping.
//
// Possible values:
// "cview"
// "subscribe"
// "unsubscribe"
Context string `json:"context,omitempty"`
// ConversionUrl: The url (without the schema) that the player shall
// send the ping to. It's at caller's descretion to decide which schema
// to use (http vs https) Example of a returned url:
// //googleads.g.doubleclick.net/pagead/
// viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D
// cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must
// append biscotti authentication (ms param in case of mobile, for
// example) to this ping.
ConversionUrl string `json:"conversionUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "Context") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Context") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelConversionPing) MarshalJSON() ([]byte, error) {
type NoMethod ChannelConversionPing
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelConversionPings: The conversionPings object encapsulates
// information about conversion pings that need to be respected by the
// channel.
type ChannelConversionPings struct {
// Pings: Pings that the app shall fire (authenticated by biscotti
// cookie). Each ping has a context, in which the app must fire the
// ping, and a url identifying the ping.
Pings []*ChannelConversionPing `json:"pings,omitempty"`
// ForceSendFields is a list of field names (e.g. "Pings") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Pings") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelConversionPings) MarshalJSON() ([]byte, error) {
type NoMethod ChannelConversionPings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ChannelListResponse struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// EventId: Serialized EventId of the request which produced this
// response.
EventId string `json:"eventId,omitempty"`
// Items: A list of channels that match the request criteria.
Items []*Channel `json:"items,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#channelListResponse".
Kind string `json:"kind,omitempty"`
// NextPageToken: The token that can be used as the value of the
// pageToken parameter to retrieve the next page in the result set.
NextPageToken string `json:"nextPageToken,omitempty"`
PageInfo *PageInfo `json:"pageInfo,omitempty"`
// PrevPageToken: The token that can be used as the value of the
// pageToken parameter to retrieve the previous page in the result set.
PrevPageToken string `json:"prevPageToken,omitempty"`
TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
// VisitorId: The visitorId identifies the visitor.
VisitorId string `json:"visitorId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ChannelListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelLocalization: Channel localization setting
type ChannelLocalization struct {
// Description: The localized strings for channel's description.
Description string `json:"description,omitempty"`
// Title: The localized strings for channel's title.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelLocalization) MarshalJSON() ([]byte, error) {
type NoMethod ChannelLocalization
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ChannelProfileDetails struct {
// ChannelId: The YouTube channel ID.
ChannelId string `json:"channelId,omitempty"`
// ChannelUrl: The channel's URL.
ChannelUrl string `json:"channelUrl,omitempty"`
// DisplayName: The channel's display name.
DisplayName string `json:"displayName,omitempty"`
// ProfileImageUrl: The channels's avatar URL.
ProfileImageUrl string `json:"profileImageUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChannelId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChannelId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelProfileDetails) MarshalJSON() ([]byte, error) {
type NoMethod ChannelProfileDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ChannelSection struct {
// ContentDetails: The contentDetails object contains details about the
// channel section content, such as a list of playlists or channels
// featured in the section.
ContentDetails *ChannelSectionContentDetails `json:"contentDetails,omitempty"`
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Id: The ID that YouTube uses to uniquely identify the channel
// section.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#channelSection".
Kind string `json:"kind,omitempty"`
// Localizations: Localizations for different languages
Localizations map[string]ChannelSectionLocalization `json:"localizations,omitempty"`
// Snippet: The snippet object contains basic details about the channel
// section, such as its type, style and title.
Snippet *ChannelSectionSnippet `json:"snippet,omitempty"`
// Targeting: The targeting object contains basic targeting settings
// about the channel section.
Targeting *ChannelSectionTargeting `json:"targeting,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ContentDetails") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentDetails") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ChannelSection) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSection
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelSectionContentDetails: Details about a channelsection,
// including playlists and channels.
type ChannelSectionContentDetails struct {
// Channels: The channel ids for type multiple_channels.
Channels []string `json:"channels,omitempty"`
// Playlists: The playlist ids for type single_playlist and
// multiple_playlists. For singlePlaylist, only one playlistId is
// allowed.
Playlists []string `json:"playlists,omitempty"`
// ForceSendFields is a list of field names (e.g. "Channels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Channels") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSectionContentDetails) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSectionContentDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ChannelSectionListResponse struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// EventId: Serialized EventId of the request which produced this
// response.
EventId string `json:"eventId,omitempty"`
// Items: A list of ChannelSections that match the request criteria.
Items []*ChannelSection `json:"items,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#channelSectionListResponse".
Kind string `json:"kind,omitempty"`
// VisitorId: The visitorId identifies the visitor.
VisitorId string `json:"visitorId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSectionListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSectionListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelSectionLocalization: ChannelSection localization setting
type ChannelSectionLocalization struct {
// Title: The localized strings for channel section's title.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Title") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Title") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSectionLocalization) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSectionLocalization
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelSectionSnippet: Basic details about a channel section,
// including title, style and position.
type ChannelSectionSnippet struct {
// ChannelId: The ID that YouTube uses to uniquely identify the channel
// that published the channel section.
ChannelId string `json:"channelId,omitempty"`
// DefaultLanguage: The language of the channel section's default title
// and description.
DefaultLanguage string `json:"defaultLanguage,omitempty"`
// Localized: Localized title, read-only.
Localized *ChannelSectionLocalization `json:"localized,omitempty"`
// Position: The position of the channel section in the channel.
Position *int64 `json:"position,omitempty"`
// Style: The style of the channel section.
//
// Possible values:
// "channelsectionStyleUndefined"
// "horizontalRow"
// "verticalList"
Style string `json:"style,omitempty"`
// Title: The channel section's title for multiple_playlists and
// multiple_channels.
Title string `json:"title,omitempty"`
// Type: The type of the channel section.
//
// Possible values:
// "allPlaylists"
// "channelsectionTypeUndefined"
// "completedEvents"
// "likedPlaylists"
// "likes"
// "liveEvents"
// "multipleChannels"
// "multiplePlaylists"
// "popularUploads"
// "postedPlaylists"
// "postedVideos"
// "recentActivity"
// "recentPosts"
// "recentUploads"
// "singlePlaylist"
// "subscriptions"
// "upcomingEvents"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChannelId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChannelId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSectionSnippet) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSectionSnippet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelSectionTargeting: ChannelSection targeting setting.
type ChannelSectionTargeting struct {
// Countries: The country the channel section is targeting.
Countries []string `json:"countries,omitempty"`
// Languages: The language the channel section is targeting.
Languages []string `json:"languages,omitempty"`
// Regions: The region the channel section is targeting.
Regions []string `json:"regions,omitempty"`
// ForceSendFields is a list of field names (e.g. "Countries") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Countries") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSectionTargeting) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSectionTargeting
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelSettings: Branding properties for the channel view.
type ChannelSettings struct {
// Country: The country of the channel.
Country string `json:"country,omitempty"`
DefaultLanguage string `json:"defaultLanguage,omitempty"`
// DefaultTab: Which content tab users should see when viewing the
// channel.
DefaultTab string `json:"defaultTab,omitempty"`
// Description: Specifies the channel description.
Description string `json:"description,omitempty"`
// FeaturedChannelsTitle: Title for the featured channels tab.
FeaturedChannelsTitle string `json:"featuredChannelsTitle,omitempty"`
// FeaturedChannelsUrls: The list of featured channels.
FeaturedChannelsUrls []string `json:"featuredChannelsUrls,omitempty"`
// Keywords: Lists keywords associated with the channel,
// comma-separated.
Keywords string `json:"keywords,omitempty"`
// ModerateComments: Whether user-submitted comments left on the channel
// page need to be approved by the channel owner to be publicly visible.
ModerateComments bool `json:"moderateComments,omitempty"`
// ProfileColor: A prominent color that can be rendered on this channel
// page.
ProfileColor string `json:"profileColor,omitempty"`
// ShowBrowseView: Whether the tab to browse the videos should be
// displayed.
ShowBrowseView bool `json:"showBrowseView,omitempty"`
// ShowRelatedChannels: Whether related channels should be proposed.
ShowRelatedChannels bool `json:"showRelatedChannels,omitempty"`
// Title: Specifies the channel title.
Title string `json:"title,omitempty"`
// TrackingAnalyticsAccountId: The ID for a Google Analytics account to
// track and measure traffic to the channels.
TrackingAnalyticsAccountId string `json:"trackingAnalyticsAccountId,omitempty"`
// UnsubscribedTrailer: The trailer of the channel, for users that are
// not subscribers.
UnsubscribedTrailer string `json:"unsubscribedTrailer,omitempty"`
// ForceSendFields is a list of field names (e.g. "Country") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Country") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSettings) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSettings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelSnippet: Basic details about a channel, including title,
// description and thumbnails.
type ChannelSnippet struct {
// Country: The country of the channel.
Country string `json:"country,omitempty"`
// CustomUrl: The custom url of the channel.
CustomUrl string `json:"customUrl,omitempty"`
// DefaultLanguage: The language of the channel's default title and
// description.
DefaultLanguage string `json:"defaultLanguage,omitempty"`
// Description: The description of the channel.
Description string `json:"description,omitempty"`
// Localized: Localized title and description, read-only.
Localized *ChannelLocalization `json:"localized,omitempty"`
// PublishedAt: The date and time that the channel was created. The
// value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
PublishedAt string `json:"publishedAt,omitempty"`
// Thumbnails: A map of thumbnail images associated with the channel.
// For each object in the map, the key is the name of the thumbnail
// image, and the value is an object that contains other information
// about the thumbnail.
Thumbnails *ThumbnailDetails `json:"thumbnails,omitempty"`
// Title: The channel's title.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Country") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Country") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelSnippet) MarshalJSON() ([]byte, error) {
type NoMethod ChannelSnippet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelStatistics: Statistics about a channel: number of subscribers,
// number of videos in the channel, etc.
type ChannelStatistics struct {
// CommentCount: The number of comments for the channel.
CommentCount uint64 `json:"commentCount,omitempty,string"`
// HiddenSubscriberCount: Whether or not the number of subscribers is
// shown for this user.
HiddenSubscriberCount bool `json:"hiddenSubscriberCount,omitempty"`
// SubscriberCount: The number of subscribers that the channel has.
SubscriberCount uint64 `json:"subscriberCount,omitempty,string"`
// VideoCount: The number of videos uploaded to the channel.
VideoCount uint64 `json:"videoCount,omitempty,string"`
// ViewCount: The number of times the channel has been viewed.
ViewCount uint64 `json:"viewCount,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "CommentCount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CommentCount") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelStatistics) MarshalJSON() ([]byte, error) {
type NoMethod ChannelStatistics
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelStatus: JSON template for the status part of a channel.
type ChannelStatus struct {
// IsLinked: If true, then the user is linked to either a YouTube
// username or G+ account. Otherwise, the user doesn't have a public
// YouTube identity.
IsLinked bool `json:"isLinked,omitempty"`
// LongUploadsStatus: The long uploads status of this channel. See
//
// Possible values:
// "allowed"
// "disallowed"
// "eligible"
// "longUploadsUnspecified"
LongUploadsStatus string `json:"longUploadsStatus,omitempty"`
// PrivacyStatus: Privacy status of the channel.
//
// Possible values:
// "private"
// "public"
// "unlisted"
// "unlisted_new"
PrivacyStatus string `json:"privacyStatus,omitempty"`
// ForceSendFields is a list of field names (e.g. "IsLinked") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IsLinked") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ChannelStatus) MarshalJSON() ([]byte, error) {
type NoMethod ChannelStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ChannelTopicDetails: Freebase topic information related to the
// channel.
type ChannelTopicDetails struct {
// TopicCategories: A list of Wikipedia URLs that describe the channel's
// content.
TopicCategories []string `json:"topicCategories,omitempty"`
// TopicIds: A list of Freebase topic IDs associated with the channel.
// You can retrieve information about each topic using the Freebase
// Topic API.
TopicIds []string `json:"topicIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "TopicCategories") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TopicCategories") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ChannelTopicDetails) MarshalJSON() ([]byte, error) {
type NoMethod ChannelTopicDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Comment: A comment represents a single YouTube comment.
type Comment struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Id: The ID that YouTube uses to uniquely identify the comment.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#comment".
Kind string `json:"kind,omitempty"`
// Snippet: The snippet object contains basic details about the comment.
Snippet *CommentSnippet `json:"snippet,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Comment) MarshalJSON() ([]byte, error) {
type NoMethod Comment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CommentListResponse struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// EventId: Serialized EventId of the request which produced this
// response.
EventId string `json:"eventId,omitempty"`
// Items: A list of comments that match the request criteria.
Items []*Comment `json:"items,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#commentListResponse".
Kind string `json:"kind,omitempty"`
// NextPageToken: The token that can be used as the value of the
// pageToken parameter to retrieve the next page in the result set.
NextPageToken string `json:"nextPageToken,omitempty"`
PageInfo *PageInfo `json:"pageInfo,omitempty"`
TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
// VisitorId: The visitorId identifies the visitor.
VisitorId string `json:"visitorId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommentListResponse) MarshalJSON() ([]byte, error) {
type NoMethod CommentListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommentSnippet: Basic details about a comment, such as its author and
// text.
type CommentSnippet struct {
// AuthorChannelId: The id of the author's YouTube channel, if any.
AuthorChannelId interface{} `json:"authorChannelId,omitempty"`
// AuthorChannelUrl: Link to the author's YouTube channel, if any.
AuthorChannelUrl string `json:"authorChannelUrl,omitempty"`
// AuthorDisplayName: The name of the user who posted the comment.
AuthorDisplayName string `json:"authorDisplayName,omitempty"`
// AuthorProfileImageUrl: The URL for the avatar of the user who posted
// the comment.
AuthorProfileImageUrl string `json:"authorProfileImageUrl,omitempty"`
// CanRate: Whether the current viewer can rate this comment.
CanRate bool `json:"canRate,omitempty"`
// ChannelId: The id of the corresponding YouTube channel. In case of a
// channel comment this is the channel the comment refers to. In case of
// a video comment it's the video's channel.
ChannelId string `json:"channelId,omitempty"`
// LikeCount: The total number of likes this comment has received.
LikeCount int64 `json:"likeCount,omitempty"`
// ModerationStatus: The comment's moderation status. Will not be set if
// the comments were requested through the id filter.
//
// Possible values:
// "heldForReview"
// "likelySpam"
// "published"
// "rejected"
ModerationStatus string `json:"moderationStatus,omitempty"`
// ParentId: The unique id of the parent comment, only set for replies.
ParentId string `json:"parentId,omitempty"`
// PublishedAt: The date and time when the comment was orignally
// published. The value is specified in ISO 8601
// (YYYY-MM-DDThh:mm:ss.sZ) format.
PublishedAt string `json:"publishedAt,omitempty"`
// TextDisplay: The comment's text. The format is either plain text or
// HTML dependent on what has been requested. Even the plain text
// representation may differ from the text originally posted in that it
// may replace video links with video titles etc.
TextDisplay string `json:"textDisplay,omitempty"`
// TextOriginal: The comment's original raw text as initially posted or
// last updated. The original text will only be returned if it is
// accessible to the viewer, which is only guaranteed if the viewer is
// the comment's author.
TextOriginal string `json:"textOriginal,omitempty"`
// UpdatedAt: The date and time when was last updated . The value is
// specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
UpdatedAt string `json:"updatedAt,omitempty"`
// VideoId: The ID of the video the comment refers to, if any.
VideoId string `json:"videoId,omitempty"`
// ViewerRating: The rating the viewer has given to this comment. For
// the time being this will never return RATE_TYPE_DISLIKE and instead
// return RATE_TYPE_NONE. This may change in the future.
//
// Possible values:
// "dislike"
// "like"
// "none"
// "unspecified"
ViewerRating string `json:"viewerRating,omitempty"`
// ForceSendFields is a list of field names (e.g. "AuthorChannelId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuthorChannelId") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CommentSnippet) MarshalJSON() ([]byte, error) {
type NoMethod CommentSnippet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommentThread: A comment thread represents information that applies
// to a top level comment and all its replies. It can also include the
// top level comment itself and some of the replies.
type CommentThread struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// Id: The ID that YouTube uses to uniquely identify the comment thread.
Id string `json:"id,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#commentThread".
Kind string `json:"kind,omitempty"`
// Replies: The replies object contains a limited number of replies (if
// any) to the top level comment found in the snippet.
Replies *CommentThreadReplies `json:"replies,omitempty"`
// Snippet: The snippet object contains basic details about the comment
// thread and also the top level comment.
Snippet *CommentThreadSnippet `json:"snippet,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommentThread) MarshalJSON() ([]byte, error) {
type NoMethod CommentThread
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CommentThreadListResponse struct {
// Etag: Etag of this resource.
Etag string `json:"etag,omitempty"`
// EventId: Serialized EventId of the request which produced this
// response.
EventId string `json:"eventId,omitempty"`
// Items: A list of comment threads that match the request criteria.
Items []*CommentThread `json:"items,omitempty"`
// Kind: Identifies what kind of resource this is. Value: the fixed
// string "youtube#commentThreadListResponse".
Kind string `json:"kind,omitempty"`
// NextPageToken: The token that can be used as the value of the
// pageToken parameter to retrieve the next page in the result set.
NextPageToken string `json:"nextPageToken,omitempty"`
PageInfo *PageInfo `json:"pageInfo,omitempty"`
TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
// VisitorId: The visitorId identifies the visitor.
VisitorId string `json:"visitorId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Etag") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Etag") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommentThreadListResponse) MarshalJSON() ([]byte, error) {
type NoMethod CommentThreadListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommentThreadReplies: Comments written in (direct or indirect) reply
// to the top level comment.
type CommentThreadReplies struct {
// Comments: A limited number of replies. Unless the number of replies
// returned equals total_reply_count in the snippet the returned replies
// are only a subset of the total number of replies.
Comments []*Comment `json:"comments,omitempty"`
// ForceSendFields is a list of field names (e.g. "Comments") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Comments") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommentThreadReplies) MarshalJSON() ([]byte, error) {
type NoMethod CommentThreadReplies
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommentThreadSnippet: Basic details about a comment thread.
type CommentThreadSnippet struct {
// CanReply: Whether the current viewer of the thread can reply to it.
// This is viewer specific - other viewers may see a different value for
// this field.
CanReply bool `json:"canReply,omitempty"`
// ChannelId: The YouTube channel the comments in the thread refer to or
// the channel with the video the comments refer to. If video_id isn't
// set the comments refer to the channel itself.
ChannelId string `json:"channelId,omitempty"`
// IsPublic: Whether the thread (and therefore all its comments) is
// visible to all YouTube users.
IsPublic bool `json:"isPublic,omitempty"`
// TopLevelComment: The top level comment of this thread.
TopLevelComment *Comment `json:"topLevelComment,omitempty"`
// TotalReplyCount: The total number of replies (not including the top
// level comment).
TotalReplyCount int64 `json:"totalReplyCount,omitempty"`
// VideoId: The ID of the video the comments refer to, if any. No
// video_id implies a channel discussion comment.
VideoId string `json:"videoId,omitempty"`
// ForceSendFields is a list of field names (e.g. "CanReply") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CanReply") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommentThreadSnippet) MarshalJSON() ([]byte, error) {
type NoMethod CommentThreadSnippet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContentRating: Ratings schemes. The country-specific ratings are
// mostly for movies and shows. NEXT_ID: 71
type ContentRating struct {
// AcbRating: The video's Australian Classification Board (ACB) or
// Australian Communications and Media Authority (ACMA) rating. ACMA
// ratings are used to classify children's television programming.
//
// Possible values:
// "acbC"
// "acbE"
// "acbG"
// "acbM"
// "acbMa15plus"
// "acbP"
// "acbPg"
// "acbR18plus"
// "acbUnrated"
AcbRating string `json:"acbRating,omitempty"`
// AgcomRating: The video's rating from Italy's Autorità per le
// Garanzie nelle Comunicazioni (AGCOM).
//
// Possible values:
// "agcomT"
// "agcomUnrated"
// "agcomVm14"
// "agcomVm18"
AgcomRating string `json:"agcomRating,omitempty"`
// AnatelRating: The video's Anatel (Asociación Nacional de
// Televisión) rating for Chilean television.
//
// Possible values:
// "anatelA"
// "anatelF"
// "anatelI"
// "anatelI10"
// "anatelI12"
// "anatelI7"
// "anatelR"
// "anatelUnrated"
AnatelRating string `json:"anatelRating,omitempty"`
// BbfcRating: The video's British Board of Film Classification (BBFC)
// rating.
//
// Possible values:
// "bbfc12"
// "bbfc12a"
// "bbfc15"
// "bbfc18"
// "bbfcPg"
// "bbfcR18"
// "bbfcU"
// "bbfcUnrated"
BbfcRating string `json:"bbfcRating,omitempty"`
// BfvcRating: The video's rating from Thailand's Board of Film and
// Video Censors.
//
// Possible values:
// "bfvc13"
// "bfvc15"
// "bfvc18"
// "bfvc20"
// "bfvcB"
// "bfvcE"
// "bfvcG"
// "bfvcUnrated"
BfvcRating string `json:"bfvcRating,omitempty"`
// BmukkRating: The video's rating from the Austrian Board of Media
// Classification (Bundesministerium für Unterricht, Kunst und Kultur).
//
// Possible values:
// "bmukk10"
// "bmukk12"
// "bmukk14"
// "bmukk16"
// "bmukk6"
// "bmukk8"
// "bmukkAa"
// "bmukkUnrated"
BmukkRating string `json:"bmukkRating,omitempty"`
// CatvRating: Rating system for Canadian TV - Canadian TV
// Classification System The video's rating from the Canadian
// Radio-Television and Telecommunications Commission (CRTC) for
// Canadian English-language broadcasts. For more information, see the
// Canadian Broadcast Standards Council website.
//
// Possible values:
// "catv14plus"
// "catv18plus"
// "catvC"
// "catvC8"
// "catvG"
// "catvPg"
// "catvUnrated"
CatvRating string `json:"catvRating,omitempty"`
// CatvfrRating: The video's rating from the Canadian Radio-Television
// and Telecommunications Commission (CRTC) for Canadian French-language
// broadcasts. For more information, see the Canadian Broadcast
// Standards Council website.
//
// Possible values:
// "catvfr13plus"
// "catvfr16plus"
// "catvfr18plus"
// "catvfr8plus"
// "catvfrG"
// "catvfrUnrated"
CatvfrRating string `json:"catvfrRating,omitempty"`
// CbfcRating: The video's Central Board of Film Certification (CBFC -
// India) rating.
//
// Possible values:
// "cbfcA"
// "cbfcS"
// "cbfcU"
// "cbfcUA"
// "cbfcUnrated"
CbfcRating string `json:"cbfcRating,omitempty"`
// CccRating: The video's Consejo de Calificación Cinematográfica
// (Chile) rating.
//
// Possible values:
// "ccc14"
// "ccc18"
// "ccc18s"
// "ccc18v"
// "ccc6"
// "cccTe"
// "cccUnrated"
CccRating string `json:"cccRating,omitempty"`
// CceRating: The video's rating from Portugal's Comissão de
// Classificação de Espect´culos.
//
// Possible values:
// "cceM12"
// "cceM14"
// "cceM16"
// "cceM18"
// "cceM4"
// "cceM6"
// "cceUnrated"
CceRating string `json:"cceRating,omitempty"`
// ChfilmRating: The video's rating in Switzerland.
//
// Possible values:
// "chfilm0"
// "chfilm12"
// "chfilm16"
// "chfilm18"
// "chfilm6"
// "chfilmUnrated"
ChfilmRating string `json:"chfilmRating,omitempty"`
// ChvrsRating: The video's Canadian Home Video Rating System (CHVRS)
// rating.
//
// Possible values:
// "chvrs14a"
// "chvrs18a"
// "chvrsE"
// "chvrsG"
// "chvrsPg"
// "chvrsR"
// "chvrsUnrated"
ChvrsRating string `json:"chvrsRating,omitempty"`
// CicfRating: The video's rating from the Commission de Contrôle des
// Films (Belgium).
//
// Possible values:
// "cicfE"
// "cicfKntEna"
// "cicfKtEa"
// "cicfUnrated"
CicfRating string `json:"cicfRating,omitempty"`
// CnaRating: The video's rating from Romania's CONSILIUL NATIONAL AL
// AUDIOVIZUALULUI (CNA).
//
// Possible values:
// "cna12"
// "cna15"
// "cna18"
// "cna18plus"
// "cnaAp"
// "cnaUnrated"
CnaRating string `json:"cnaRating,omitempty"`
// CncRating: Rating system in France - Commission de classification
// cinematographique
//
// Possible values:
// "cnc10"
// "cnc12"
// "cnc16"
// "cnc18"
// "cncE"
// "cncT"
// "cncUnrated"
CncRating string `json:"cncRating,omitempty"`
// CsaRating: The video's rating from France's Conseil supérieur de
// l?audiovisuel, which rates broadcast content.
//
// Possible values:
// "csa10"
// "csa12"
// "csa16"
// "csa18"
// "csaInterdiction"
// "csaT"
// "csaUnrated"
CsaRating string `json:"csaRating,omitempty"`
// CscfRating: The video's rating from Luxembourg's Commission de
// surveillance de la classification des films (CSCF).
//
// Possible values:
// "cscf12"
// "cscf16"
// "cscf18"
// "cscf6"
// "cscf9"
// "cscfA"
// "cscfAl"
// "cscfUnrated"
CscfRating string `json:"cscfRating,omitempty"`
// CzfilmRating: The video's rating in the Czech Republic.
//
// Possible values:
// "czfilm12"
// "czfilm14"
// "czfilm18"
// "czfilmU"
// "czfilmUnrated"
CzfilmRating string `json:"czfilmRating,omitempty"`
// DjctqRating: The video's Departamento de Justiça, Classificação,
// Qualificação e Títulos (DJCQT - Brazil) rating.
//
// Possible values:
// "djctq10"
// "djctq12"
// "djctq14"
// "djctq16"
// "djctq18"
// "djctqL"
// "djctqUnrated"
DjctqRating string `json:"djctqRating,omitempty"`
// DjctqRatingReasons: Reasons that explain why the video received its
// DJCQT (Brazil) rating.
//
// Possible values:
// "djctqCriminalActs"
// "djctqDrugs"
// "djctqExplicitSex"
// "djctqExtremeViolence"
// "djctqIllegalDrugs"
// "djctqImpactingContent"
// "djctqInappropriateLanguage"
// "djctqLegalDrugs"
// "djctqNudity"
// "djctqSex"
// "djctqSexualContent"
// "djctqViolence"
DjctqRatingReasons []string `json:"djctqRatingReasons,omitempty"`
// EcbmctRating: Rating system in Turkey - Evaluation and Classification
// Board of the Ministry of Culture and Tourism
//
// Possible values:
// "ecbmct13a"
// "ecbmct13plus"
// "ecbmct15a"
// "ecbmct15plus"
// "ecbmct18plus"
// "ecbmct7a"
// "ecbmct7plus"
// "ecbmctG"
// "ecbmctUnrated"
EcbmctRating string `json:"ecbmctRating,omitempty"`
// EefilmRating: The video's rating in Estonia.
//
// Possible values:
// "eefilmK12"
// "eefilmK14"
// "eefilmK16"
// "eefilmK6"
// "eefilmL"
// "eefilmMs12"
// "eefilmMs6"
// "eefilmPere"
// "eefilmUnrated"
EefilmRating string `json:"eefilmRating,omitempty"`
// EgfilmRating: The video's rating in Egypt.
//
// Possible values:
// "egfilm18"
// "egfilmBn"
// "egfilmGn"
// "egfilmUnrated"
EgfilmRating string `json:"egfilmRating,omitempty"`
// EirinRating: The video's Eirin (映倫) rating. Eirin is the Japanese
// rating system.
//
// Possible values:
// "eirinG"
// "eirinPg12"
// "eirinR15plus"
// "eirinR18plus"
// "eirinUnrated"
EirinRating string `json:"eirinRating,omitempty"`
// FcbmRating: The video's rating from Malaysia's Film Censorship Board.
//
// Possible values:
// "fcbm18"
// "fcbm18pa"
// "fcbm18pl"
// "fcbm18sg"
// "fcbm18sx"
// "fcbmP13"
// "fcbmPg13"
// "fcbmU"
// "fcbmUnrated"
FcbmRating string `json:"fcbmRating,omitempty"`
// FcoRating: The video's rating from Hong Kong's Office for Film,
// Newspaper and Article Administration.
//
// Possible values:
// "fcoI"
// "fcoIi"
// "fcoIia"
// "fcoIib"
// "fcoIii"
// "fcoUnrated"
FcoRating string `json:"fcoRating,omitempty"`
// FmocRating: This property has been deprecated. Use the
// contentDetails.contentRating.cncRating instead.
//
// Possible values:
// "fmoc10"
// "fmoc12"
// "fmoc16"
// "fmoc18"
// "fmocE"
// "fmocU"
// "fmocUnrated"
FmocRating string `json:"fmocRating,omitempty"`
// FpbRating: The video's rating from South Africa's Film and
// Publication Board.
//
// Possible values:
// "fpb10"
// "fpb1012Pg"
// "fpb13"
// "fpb16"
// "fpb18"
// "fpb79Pg"
// "fpbA"
// "fpbPg"
// "fpbUnrated"
// "fpbX18"
// "fpbXx"
FpbRating string `json:"fpbRating,omitempty"`
// FpbRatingReasons: Reasons that explain why the video received its FPB
// (South Africa) rating.
//
// Possible values:
// "fpbBlasphemy"
// "fpbCriminalTechniques"
// "fpbDrugs"
// "fpbHorror"
// "fpbImitativeActsTechniques"
// "fpbLanguage"
// "fpbNudity"
// "fpbPrejudice"
// "fpbSex"
// "fpbSexualViolence"
// "fpbViolence"
FpbRatingReasons []string `json:"fpbRatingReasons,omitempty"`
// FskRating: The video's Freiwillige Selbstkontrolle der Filmwirtschaft
// (FSK - Germany) rating.
//
// Possible values:
// "fsk0"
// "fsk12"
// "fsk16"
// "fsk18"
// "fsk6"
// "fskUnrated"
FskRating string `json:"fskRating,omitempty"`
// GrfilmRating: The video's rating in Greece.
//
// Possible values:
// "grfilmE"
// "grfilmK"
// "grfilmK12"
// "grfilmK13"
// "grfilmK15"
// "grfilmK17"
// "grfilmK18"
// "grfilmUnrated"
GrfilmRating string `json:"grfilmRating,omitempty"`
// IcaaRating: The video's Instituto de la Cinematografía y de las
// Artes Audiovisuales (ICAA - Spain) rating.
//
// Possible values:
// "icaa12"
// "icaa13"
// "icaa16"
// "icaa18"
// "icaa7"
// "icaaApta"
// "icaaUnrated"
// "icaaX"
IcaaRating string `json:"icaaRating,omitempty"`
// IfcoRating: The video's Irish Film Classification Office (IFCO -
// Ireland) rating. See the IFCO website for more information.
//
// Possible values:
// "ifco12"
// "ifco12a"
// "ifco15"
// "ifco15a"
// "ifco16"
// "ifco18"
// "ifcoG"
// "ifcoPg"
// "ifcoUnrated"
IfcoRating string `json:"ifcoRating,omitempty"`
// IlfilmRating: The video's rating in Israel.
//
// Possible values:
// "ilfilm12"
// "ilfilm14"
// "ilfilm16"
// "ilfilm18"
// "ilfilmAa"
// "ilfilmUnrated"
IlfilmRating string `json:"ilfilmRating,omitempty"`
// IncaaRating: The video's INCAA (Instituto Nacional de Cine y Artes
// Audiovisuales - Argentina) rating.
//
// Possible values:
// "incaaAtp"
// "incaaC"
// "incaaSam13"
// "incaaSam16"
// "incaaSam18"
// "incaaUnrated"
IncaaRating string `json:"incaaRating,omitempty"`
// KfcbRating: The video's rating from the Kenya Film Classification
// Board.
//
// Possible values:
// "kfcb16plus"
// "kfcbG"
// "kfcbPg"
// "kfcbR"
// "kfcbUnrated"
KfcbRating string `json:"kfcbRating,omitempty"`
// KijkwijzerRating: voor de Classificatie van Audiovisuele Media
// (Netherlands).
//
// Possible values:
// "kijkwijzer12"
// "kijkwijzer16"
// "kijkwijzer18"
// "kijkwijzer6"
// "kijkwijzer9"
// "kijkwijzerAl"
// "kijkwijzerUnrated"
KijkwijzerRating string `json:"kijkwijzerRating,omitempty"`
// KmrbRating: The video's Korea Media Rating Board
// (영상물등급위원회) rating. The KMRB rates videos in South
// Korea.
//
// Possible values:
// "kmrb12plus"
// "kmrb15plus"
// "kmrbAll"
// "kmrbR"
// "kmrbTeenr"
// "kmrbUnrated"
KmrbRating string `json:"kmrbRating,omitempty"`
// LsfRating: The video's rating from Indonesia's Lembaga Sensor Film.
//
// Possible values:
// "lsf13"
// "lsf17"
// "lsf21"
// "lsfA"
// "lsfBo"
// "lsfD"
// "lsfR"
// "lsfSu"
// "lsfUnrated"
LsfRating string `json:"lsfRating,omitempty"`
// MccaaRating: The video's rating from Malta's Film Age-Classification
// Board.
//
// Possible values:
// "mccaa12"
// "mccaa12a"
// "mccaa14"
// "mccaa15"
// "mccaa16"
// "mccaa18"
// "mccaaPg"
// "mccaaU"
// "mccaaUnrated"
MccaaRating string `json:"mccaaRating,omitempty"`
// MccypRating: The video's rating from the Danish Film Institute's (Det
// Danske Filminstitut) Media Council for Children and Young People.
//
// Possible values:
// "mccyp11"
// "mccyp15"
// "mccyp7"
// "mccypA"
// "mccypUnrated"
MccypRating string `json:"mccypRating,omitempty"`
// McstRating: The video's rating system for Vietnam - MCST
//
// Possible values:
// "mcst0"
// "mcst16plus"
// "mcstC13"
// "mcstC16"
// "mcstC18"
// "mcstGPg"
// "mcstP"
// "mcstUnrated"
McstRating string `json:"mcstRating,omitempty"`
// MdaRating: The video's rating from Singapore's Media Development
// Authority (MDA) and, specifically, it's Board of Film Censors (BFC).
//
// Possible values:
// "mdaG"
// "mdaM18"
// "mdaNc16"
// "mdaPg"
// "mdaPg13"
// "mdaR21"
// "mdaUnrated"
MdaRating string `json:"mdaRating,omitempty"`
// MedietilsynetRating: The video's rating from Medietilsynet, the
// Norwegian Media Authority.
//
// Possible values:
// "medietilsynet11"
// "medietilsynet12"
// "medietilsynet15"
// "medietilsynet18"
// "medietilsynet6"
// "medietilsynet7"
// "medietilsynet9"
// "medietilsynetA"
// "medietilsynetUnrated"
MedietilsynetRating string `json:"medietilsynetRating,omitempty"`
// MekuRating: The video's rating from Finland's Kansallinen
// Audiovisuaalinen Instituutti (National Audiovisual Institute).
//
// Possible values:
// "meku12"
// "meku16"
// "meku18"
// "meku7"
// "mekuS"
// "mekuUnrated"
MekuRating string `json:"mekuRating,omitempty"`
// MenaMpaaRating: The rating system for MENA countries, a clone of
// MPAA. It is needed to
//
// Possible values:
// "menaMpaaG"
// "menaMpaaPg"
// "menaMpaaPg13"
// "menaMpaaR"
// "menaMpaaUnrated"
MenaMpaaRating string `json:"menaMpaaRating,omitempty"`
// MibacRating: The video's rating from the Ministero dei Beni e delle
// Attività Culturali e del Turismo (Italy).
//
// Possible values:
// "mibacT"
// "mibacUnrated"
// "mibacVap"
// "mibacVm12"
// "mibacVm14"
// "mibacVm18"
MibacRating string `json:"mibacRating,omitempty"`
// MocRating: The video's Ministerio de Cultura (Colombia) rating.
//
// Possible values:
// "moc12"
// "moc15"
// "moc18"
// "moc7"
// "mocBanned"
// "mocE"
// "mocT"
// "mocUnrated"
// "mocX"
MocRating string `json:"mocRating,omitempty"`
// MoctwRating: The video's rating from Taiwan's Ministry of Culture
// (文化部).
//
// Possible values:
// "moctwG"
// "moctwP"
// "moctwPg"
// "moctwR"
// "moctwR12"
// "moctwR15"
// "moctwUnrated"
MoctwRating string `json:"moctwRating,omitempty"`
// MpaaRating: The video's Motion Picture Association of America (MPAA)
// rating.
//
// Possible values:
// "mpaaG"
// "mpaaNc17"
// "mpaaPg"
// "mpaaPg13"
// "mpaaR"
// "mpaaUnrated"
MpaaRating string `json:"mpaaRating,omitempty"`
// MpaatRating: The rating system for trailer, DVD, and Ad in the US.
// See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.
//
// Possible values:
// "mpaatGb"
// "mpaatRb"
MpaatRating string `json:"mpaatRating,omitempty"`
// MtrcbRating: The video's rating from the Movie and Television Review
// and Classification Board (Philippines).
//
// Possible values:
// "mtrcbG"
// "mtrcbPg"
// "mtrcbR13"
// "mtrcbR16"
// "mtrcbR18"
// "mtrcbUnrated"
// "mtrcbX"
MtrcbRating string `json:"mtrcbRating,omitempty"`
// NbcRating: The video's rating from the Maldives National Bureau of
// Classification.
//
// Possible values:
// "nbc12plus"
// "nbc15plus"
// "nbc18plus"
// "nbc18plusr"
// "nbcG"
// "nbcPg"
// "nbcPu"
// "nbcUnrated"
NbcRating string `json:"nbcRating,omitempty"`
// NbcplRating: The video's rating in Poland.
//
// Possible values:
// "nbcpl18plus"
// "nbcplI"
// "nbcplIi"
// "nbcplIii"
// "nbcplIv"
// "nbcplUnrated"
NbcplRating string `json:"nbcplRating,omitempty"`
// NfrcRating: The video's rating from the Bulgarian National Film
// Center.
//
// Possible values:
// "nfrcA"
// "nfrcB"
// "nfrcC"
// "nfrcD"
// "nfrcUnrated"
// "nfrcX"
NfrcRating string `json:"nfrcRating,omitempty"`
// NfvcbRating: The video's rating from Nigeria's National Film and
// Video Censors Board.
//
// Possible values:
// "nfvcb12"
// "nfvcb12a"
// "nfvcb15"
// "nfvcb18"
// "nfvcbG"
// "nfvcbPg"
// "nfvcbRe"
// "nfvcbUnrated"
NfvcbRating string `json:"nfvcbRating,omitempty"`
// NkclvRating: The video's rating from the Nacionãlais Kino centrs
// (National Film Centre of Latvia).
//
// Possible values:
// "nkclv12plus"
// "nkclv18plus"
// "nkclv7plus"
// "nkclvU"
// "nkclvUnrated"
NkclvRating string `json:"nkclvRating,omitempty"`
// OflcRating: The video's Office of Film and Literature Classification
// (OFLC - New Zealand) rating.
//
// Possible values:
// "oflcG"
// "oflcM"
// "oflcPg"
// "oflcR13"
// "oflcR15"
// "oflcR16"
// "oflcR18"
// "oflcRp13"
// "oflcRp16"
// "oflcRp18"
// "oflcUnrated"
OflcRating string `json:"oflcRating,omitempty"`
// PefilmRating: The video's rating in Peru.
//
// Possible values:
// "pefilm14"
// "pefilm18"
// "pefilmPg"
// "pefilmPt"
// "pefilmUnrated"
PefilmRating string `json:"pefilmRating,omitempty"`
// RcnofRating: The video's rating from the Hungarian Nemzeti Filmiroda,
// the Rating Committee of the National Office of Film.
//
// Possible values:
// "rcnofI"
// "rcnofIi"
// "rcnofIii"
// "rcnofIv"
// "rcnofUnrated"
// "rcnofV"
// "rcnofVi"
RcnofRating string `json:"rcnofRating,omitempty"`
// ResorteviolenciaRating: The video's rating in Venezuela.
//
// Possible values:
// "resorteviolenciaA"
// "resorteviolenciaB"
// "resorteviolenciaC"
// "resorteviolenciaD"
// "resorteviolenciaE"
// "resorteviolenciaUnrated"
ResorteviolenciaRating string `json:"resorteviolenciaRating,omitempty"`
// RtcRating: The video's General Directorate of Radio, Television and
// Cinematography (Mexico) rating.
//
// Possible values:
// "rtcA"
// "rtcAa"
// "rtcB"
// "rtcB15"
// "rtcC"
// "rtcD"
// "rtcUnrated"
RtcRating string `json:"rtcRating,omitempty"`
// RteRating: The video's rating from Ireland's Raidió Teilifís
// Éireann.
//
// Possible values:
// "rteCh"
// "rteGa"
// "rteMa"
// "rtePs"
// "rteUnrated"
RteRating string `json:"rteRating,omitempty"`
// RussiaRating: The video's National Film Registry of the Russian
// Federation (MKRF - Russia) rating.
//
// Possible values:
// "russia0"
// "russia12"
// "russia16"
// "russia18"
// "russia6"
// "russiaUnrated"
RussiaRating string `json:"russiaRating,omitempty"`
// SkfilmRating: The video's rating in Slovakia.
//
// Possible values:
// "skfilmG"
// "skfilmP2"
// "skfilmP5"
// "skfilmP8"
// "skfilmUnrated"
SkfilmRating string `json:"skfilmRating,omitempty"`
// SmaisRating: The video's rating in Iceland.
//
// Possible values:
// "smais12"
// "smais14"