Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将youtube视频添加到播放列表_Python_Youtube Api - Fatal编程技术网

使用Python将youtube视频添加到播放列表

使用Python将youtube视频添加到播放列表,python,youtube-api,Python,Youtube Api,我正在创建一个脚本,使用谷歌的youtube数据API版本3将视频上传到youtube。 对于上传,我遵循了 现在我想将上传的视频添加到我的youtube频道的播放列表中。在Python for YouTube Data API版本3中,我没有找到任何这样做的示例代码 给我的是Youtube数据API的旧版本(版本1) 我想developers.google.com/youtube/v3/docs/playlitems/insert可以帮助我,但我不确定在youtube.playlitem()

我正在创建一个脚本,使用谷歌的youtube数据API版本3将视频上传到youtube。
对于上传,我遵循了

现在我想将上传的视频添加到我的youtube频道的播放列表中。在Python for YouTube Data API版本3中,我没有找到任何这样做的示例代码

给我的是Youtube数据API的旧版本(版本1)

我想developers.google.com/youtube/v3/docs/playlitems/insert可以帮助我,但我不确定在
youtube.playlitem()


我正在寻找一些帮助或示例代码,以便使用Python for API v3在播放列表中添加视频

请检查下面的v3 URL
对于参数,您使用的方法是正确的:

部分:片段(或您想要返回的播放项资源的任何部分)

snippet.PlayId:要添加的播放列表的id。如果您不知道,可以通过playlists.list()方法找到它,设置为“mine=true”

snippet.resourceId:视频的视频id。如果您不知道,可以通过videos.list()方法找到它,设置为“mine=true”

代码是:

    import httplib2
    import os
    import sys

    from apiclient.discovery import build
    from apiclient.errors import HttpError
    from oauth2client.client import flow_from_clientsecrets
    from oauth2client.file import Storage
    from oauth2client.tools import argparser, run


    # The CLIENT_SECRETS_FILE variable specifies the name of a file that contains
    # the OAuth 2.0 information for this application, including its client_id and
    # client_secret. You can acquire an OAuth 2.0 client ID and client secret from
    # the Google Cloud Console at
    # https://cloud.google.com/console.
    # Please ensure that you have enabled the YouTube Data API for your project.
    # For more information about using OAuth2 to access the YouTube Data API, see:
    #   https://developers.google.com/youtube/v3/guides/authentication
    # For more information about the client_secrets.json file format, see:
    #   https://developers.google.com/api-client-library/python/guide/aaa_client_secrets

    CLIENT_SECRETS_FILE = "client_secrets.json"

    # This variable defines a message to display if the CLIENT_SECRETS_FILE is
    # missing.
    MISSING_CLIENT_SECRETS_MESSAGE = """
    WARNING: Please configure OAuth 2.0

    To make this sample run you will need to populate the client_secrets.json file
    found at:

    %s

    with information from the Cloud Console
    https://cloud.google.com/console

    For more information about the client_secrets.json file format, please visit:
    https://developers.google.com/api-client-library/python/guide/aaa_client_secrets
    """ % os.path.abspath(os.path.join(os.path.dirname(__file__),
                               CLIENT_SECRETS_FILE))

    # This OAuth 2.0 access scope allows for full read/write access to the
    # authenticated user's account.
    YOUTUBE_SCOPE = "https://www.googleapis.com/auth/youtube"
    YOUTUBE_API_SERVICE_NAME = "youtube"
    YOUTUBE_API_VERSION = "v3"


    def get_authenticated_service():
        flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE, scope=YOUTUBE_SCOPE,
        message=MISSING_CLIENT_SECRETS_MESSAGE)

        storage = Storage("%s-oauth2.json" % sys.argv[0])
        credentials = storage.get()

        if credentials is None or credentials.invalid:
            credentials = run(flow, storage)

        return build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
            http=credentials.authorize(httplib2.Http()))


    def add_video_to_playlist(youtube,videoID,playlistID):
      add_video_request=youtube.playlistItem().insert(
      part="snippet",
      body={
            'snippet': {
              'playlistId': playlistID, 
              'resourceId': {
                      'kind': 'youtube#video',
                  'videoId': videoID
                }
            #'position': 0
            }
    }
     ).execute()

    if __name__ == '__main__':
     youtube = get_authenticated_service()
         add_video_to_playlist(youtube,"yszl2oxi8IY","PL2JW1S4IMwYubm06iDKfDsmWVB-J8funQ")

我已选中此页面,对于将视频添加到播放列表不有用,此页面说明如何创建播放列表并修改其详细信息,但不说明如何将视频添加到播放列表我不允许放置两个以上的链接,因此请有人编辑我的问题,以显示我试图创建示例代码,但不起作用,并给出错误。您可以在中看到错误和代码请告诉我哪里错了我已将此作为新问题发布在中,因此您可以回答我要使其正常工作,它必须是
youtube.playlitems
(注意最后一个字符)而不是
youtube.playlitem
。当我尝试运行此代码时,它会显示“oauth2.json”没有这样的文件或目录。我需要生成这个JSON文件还是自动生成的@紫苏