【发布时间】:2015-03-31 23:01:47
【问题描述】:
我正在尝试使用 youtube-api. 将存储在 .csv 文件中的视频 ID 列表添加到播放列表中
我已经添加了一个视频,但我正在努力导入存储在 CSV 文件中的视频 ID 列表。
所以在这个 sn-p 中,我想用指向 CSV 文件的链接替换视频 ID:
def add_video_to_playlist(youtube, videoID, playlistID):
add_video_request = youtube.playlistItems().insert(
part = "snippet",
body = {
'snippet': {
'playlistId': 'PLpB9AHGzZKOugx13Kwkj47mro_PftxSE9',
'resourceId': {
'kind': 'youtube#video',
'videoId': 'tcJ4eVVK640'`
据我所知,这是完整的代码:
import httplib2
import os
import sys
import csv
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 containsthe 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_ID = ''
CLIENT_SECRETS_FILE = ""
# 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.playlistItems().insert(
part = "snippet",
body = {
'snippet': {
'playlistId': 'PlayistId',
'resourceId': {
'kind': 'youtube#video',
' videoId': 'VideoId'
}
#'position': 0
}
}
).execute()
if __name__ == '__main__':
youtube = get_authenticated_service()
add_video_to_playlist(youtube, "yszl2oxi8IY", "PL2JW1S4IMwYubm06iDKfDsmWVB- J8funQ")
【问题讨论】:
-
在两个地方有意外的多个空格:在函数
add_video_to_playlist()中的videoId附近的字符串中:' videoId': 'VideoId'(但仅限于完整代码部分)和字符串"PL2JW1S4IMwYubm06iDKfDsmWVB- J8funQ"跨度>
标签: python csv youtube youtube-api