# YouTube Data API . videos

## Instance Methods

Deletes a YouTube video.

Retrieves the ratings that the authorized user gave to a list of specified videos.

Uploads a video to YouTube and optionally sets the video's metadata.

Returns a list of videos that match the API request parameters.

Retrieves the next page of results.

Add a like or dislike rating to a video or remove a rating from a video.

Updates a video's metadata.

### Method Details

`delete(id, onBehalfOfContentOwner=None)`

    Deletes a YouTube video.

    Args:
      id: string, The id parameter specifies the YouTube video ID for the resource that is being deleted. In a video resource, the id property specifies the video's ID. (required)
      onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

    The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.

`getRating(id, onBehalfOfContentOwner=None)`

    Retrieves the ratings that the authorized user gave to a list of specified videos.

    Args:
      id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) for which you are retrieving rating data. In a video resource, the id property specifies the video's ID. (required)
      onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.

    The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.

    Returns:
      An object of the form:

        {
        "items": [ # A list of ratings that match the request criteria.
          {
            "rating": "A String",
            "videoId": "A String",
          },
        ],
        "kind": "youtube#videoGetRatingResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#videoGetRatingResponse".
        "etag": "A String", # Etag of this resource.
      }

`insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, notifySubscribers=None, autoLevels=None)`

    Uploads a video to YouTube and optionally sets the video's metadata.

    Args:
      part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.

    The part names that you can include in the parameter value are snippet, contentDetails, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails. However, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
      body: object, The request body.
        The object takes the form of:

    { # A video resource represents a YouTube video.
        "liveStreamingDetails": { # Details about the live streaming metadata. # The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
          "scheduledEndTime": "A String", # The time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.
          "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
          "actualStartTime": "A String", # The time that the broadcast actually started. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast begins.
          "actualEndTime": "A String", # The time that the broadcast actually ended. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast is over.
          "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        },
        "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
          "description": "A String", # The video's description.
          "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
            "A String",
          ],
          "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
          "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
          "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
          "channelTitle": "A String", # Channel title for the channel that the video belongs to.
          "title": "A String", # The video's title.
          "categoryId": "A String", # The YouTube video category associated with the video.
          "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. 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.
            "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
            "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
              "url": "A String", # The thumbnail image's URL.
              "width": 42, # (Optional) Width of the thumbnail image.
              "height": 42, # (Optional) Height of the thumbnail image.
            },
          },
        },
        "kind": "youtube#video", # Identifies what kind of resource this is. Value: the fixed string "youtube#video".
        "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
          "commentCount": "A String", # The number of comments for the video.
          "viewCount": "A String", # The number of times the video has been viewed.
          "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
          "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
          "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
        },
        "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
          "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
            "A String",
          ],
          "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
            "A String",
          ],
        },
        "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
          "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
            "exception": [ # A list of region codes that identify countries where the default policy do not apply.
              "A String",
            ],
            "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
          },
        },
        "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
          "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
          "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
            "exception": [ # A list of region codes that identify countries where the default policy do not apply.
              "A String",
            ],
            "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
          },
          "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
            "nfrcRating": "A String", # Rating system for Bulgaria - National Film Centre
            "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
            "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
            "bfvcRating": "A String", # Rating system for Thailand - Board of Filmand Video Censors
            "mdaRating": "A String", # Rating system for Singapore - Media Development Authority
            "nfvcbRating": "A String", # Rating system for Nigeria - National Film and Video Censors Board
            "bmukkRating": "A String", # Rating system for Austria - Bundesministeriums f�r Unterricht, Kunst und Kultur!
            "chfilmRating": "A String", # Rating system for Switzerland - Switzerland Rating System
            "resorteviolenciaRating": "A String", # Rating system for Venezuela - SiBCI
            "rteRating": "A String", # Rating system for Ireland - Raidi� Teilif�s �ireann
            "csaRating": "A String", # Rating system for France - Conseil sup�rieur de l?audiovisuel
            "moctwRating": "A String", # Rating system for Taiwan - Ministry of Culture - Tawan
            "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
            "pefilmRating": "A String", # Rating system for Peru - Peru Rating System
            "medietilsynetRating": "A String", # Rating system for Norway - Medietilsynet
            "incaaRating": "A String", # Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales
            "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
            "fpbRating": "A String", # Rating system for South africa - Film & Publication Board
            "mccaaRating": "A String", # Rating system for Malta - Film Age-Classification Board
            "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
            "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
            "cscfRating": "A String", # Rating system for Luxembourg - Commission de surveillance de la classification des films
            "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
            "bbfcRating": "A String", # British Board of Film Classification
            "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
            "smsaRating": "A String", # Rating system for Sweden - Statens medier�d (National Media Council)
            "egfilmRating": "A String", # Rating system for Egypt - Egypt Rating System
            "cicfRating": "A String", # Rating system for Belgium - Belgium Rating System
            "nbcplRating": "A String", # Rating system for Poland - National Broadcasting Council
            "nbcRating": "A String", # Rating system for Maldives - National Bureau of Classification
            "ytRating": "A String", # Internal YouTube rating.
            "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
            "ifcoRating": "A String", # Rating system in Ireland - Irish Film Classification Office
            "fcoRating": "A String", # Rating system for Hong kong - Office for Film, Newspaper and Article Administration
            "eefilmRating": "A String", # Rating system for Estonia - Estonia Rating System
            "acbRating": "A String", # Rating system in Australia - Australian Classification Board
            "grfilmRating": "A String", # Rating system for Greece - Greece Rating System
            "cccRating": "A String", # Rating system for Chile - Consejo de Calificaci�n Cinematogr�fica
            "kfcbRating": "A String", # Rating system for Kenya - Kenya Film Classification Board
            "czfilmRating": "A String", # Rating system for Czech republic - Czech republic Rating System
            "lsfRating": "A String", # Rating system for Indonesia - Lembaga Sensor Film
            "fmocRating": "A String", # Rating system in France - French Minister of Culture
            "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
            "cceRating": "A String", # Rating system for Portugal - Comiss�o de Classifica��o de Espect�culos
            "nkclvRating": "A String", # Rating system for Latvia - National Film Center of Latvia
            "mtrcbRating": "A String", # Rating system for Philippines - MOVIE AND TELEVISION REVIEW AND CLASSIFICATION BOARD
            "mibacRating": "A String", # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo
            "anatelRating": "A String", # Rating system for Chile - Asociaci�n Nacional de Televisi�n
            "smaisRating": "A String", # Rating system for Iceland - SMAIS
            "ilfilmRating": "A String", # Rating system for Israel - Israel Rating System
            "russiaRating": "A String", # Rating system in Russia
            "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
            "agcomRating": "A String", # Rating system for Italy - Autorit� per le Garanzie nelle Comunicazioni
            "chvrsRating": "A String", # Canadian Home Video Rating System
            "cnaRating": "A String", # Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA
            "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
            "mccypRating": "A String", # Rating system for Denmark - The Media Council for Children and Young People
            "skfilmRating": "A String", # Rating system for Slovakia - Slovakia Rating System
            "mocRating": "A String", # Rating system for Colombia - MoC
            "rcnofRating": "A String", # Rating system for Hungary - Rating Committee of the National Office of Film
            "mekuRating": "A String", # Rating system for Finland - Finnish Centre for Media Education and Audiovisual Media
            "fcbmRating": "A String", # Rating system for Malaysia - Film Censorship Board of Malaysia
            "kijkwijzerRating": "A String", # Rating system for Netherlands - Nederlands Instituut voor de Classificatie van Audiovisuele Media
          },
          "caption": "A String", # The value of captions indicates whether the video has captions or not.
          "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
            "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
              "A String",
            ],
            "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
              "A String",
            ],
          },
          "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
          "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
          "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
        },
        "ageGating": { # Age restriction details related to a video.
          "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
          "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
          "videoGameRating": "A String", # Video game rating, if any.
        },
        "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
          "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
          "container": "A String", # The uploaded video file's container format.
          "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
            "latitude": 3.14, # Latitude in degrees.
            "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
            "longitude": 3.14, # Longitude in degrees.
          },
          "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
          "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
              # - Date only: YYYY-MM-DD
              # - Naive time: YYYY-MM-DDTHH:MM:SS
              # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
          "durationMs": "A String", # The length of the uploaded video in milliseconds.
          "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
          "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
          "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
            { # Information about a video stream.
              "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
              "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
              "codec": "A String", # The video codec that the stream uses.
              "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
              "heightPixels": 42, # The encoded video content's height in pixels.
              "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
              "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
              "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
            },
          ],
          "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
            { # Information about an audio stream.
              "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
              "codec": "A String", # The audio codec that the stream uses.
              "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
              "channelCount": 42, # The number of audio channels that the stream contains.
            },
          ],
        },
        "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
            #
            # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
          "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
          "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
          "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
          "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
          "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
          "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
          "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
            "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
            "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
                # 100 * parts_processed / parts_total
                #
                # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
            "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
          },
          "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
        },
        "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
          "embedHtml": "A String", # An