使用 Python 中的 YouTube Data API v3 将 youtube 视频添加到播放列表 [英] Adding youtube video to playlist using YouTube Data API v3 in Python

查看:31
本文介绍了使用 Python 中的 YouTube Data API v3 将 youtube 视频添加到播放列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个脚本,使用 YouTube Data API v3 将 youtube 视频添加到我频道的播放列表中.我在这个问题的帮助下尝试并在帮助下编写了这段代码此处

I want to create a script to add a youtube video into playlist in my channel using YouTube Data API v3. I tried with the help of this question and wrote this code with help of example code given Here

    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")

但我收到错误,我无法弄清楚

but I am getting error that I am not able to figure out

    alok@alok:~/exp/python/youtube$ python playlist.py 
    Traceback (most recent call last):
      File "playlist.py", line 83, in <module>
        add_video_to_playlist(youtube,"yszl2oxi8IY","PL2JW1S4IMwYubm06iDKfDsmWVB-J8funQ")
      File "playlist.py", line 67, in add_video_to_playlist
        add_video_request=youtube.playlistItem().insert(
    AttributeError: 'Resource' object has no attribute 'playlistItem'

谁能告诉我哪里错了?

推荐答案

方法是playlistItems()"(带一个s")

The method is "playlistItems()" (with an "s")

(我假设您的缩进只是这里的问题,而不是您的实际代码)

(I'm assuming your indentation is only wrong here question, and not in your actual code)

这篇关于使用 Python 中的 YouTube Data API v3 将 youtube 视频添加到播放列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆