在 Python 中实现 YouTube 批量上传,你可以使用 Google 的 YouTube Data API v3 和 Google OAuth 2.0 来认证和上传视频。以下是一个基础的实现流程,包括如何设置、认证和上传视频的示例代码。
第一步:设置在 Google Cloud Console 中创建一个新项目。启用 YouTube Data API v3。创建 OAuth 2.0 凭证(客户端 ID 和客户端密钥)。下载凭证,保存为 client_secrets.json。第二步:安装所需库
安装 Google API 客户端库和 Google OAuth 库:
pip install --upgrade google-api-python-client google-auth google-auth-oauthlib google-auth-httplib2
第三步:认证和上传脚本
创建一个 Python 脚本(upload_videos.py),使用以下代码:
import os
import google.oauth2.credentials
import google_auth_oauthlib.flow
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.http import MediaFileUpload
# 需要打开VPN的TUN模式
# 设置OAuth 2.0的范围和视频文件路径
SCOPES = ['https://www.googleapis.com/auth/youtube.upload']
API_SERVICE_NAME = 'youtube'
API_VERSION = 'v3'
def get_authenticated_service():
flow = InstalledAppFlow.from_client_secrets_file(
r"D:wenjian临时client_secrets.json", SCOPES)
credentials = flow.run_local_server(port=0)
return build(API_SERVICE_NAME, API_VERSION, credentials=credentials)
def initialize_upload(youtube, options):
body = {
'snippet': {
'title': options['title'],
'description': options['description'],
'tags': options['tags'],
'categoryId': options['category']
},
'status': {
'privacyStatus': options['privacyStatus'],
# 确保此处直接设置madeForKids属性
},
# 直接在body的顶层设置'madeForKids'
'madeForKids': False,
}
insert_request = youtube.videos().insert(
part=','.join(body.keys()) + ',status', # 确保status也被包含在part参数中
body=body,
media_body=MediaFileUpload(options['file'], chunksize=-1, resumable=True)
)
return insert_request.execute()
def upload_videos(video_files):
youtube = get_authenticated_service()
for video_file in video_files:
try:
print(f"Uploading file: {video_file['file']}")
initialize_upload(youtube, video_file)
except HttpError as e:
print(f"An HTTP error {e.resp.status} occurred:n{e.content}")
else:
print("Upload successful.")
if __name__ == '__main__':
video_files = [
{
'file': r"D:自媒体剪辑发表视频阅读驴友静夜思:李白笔下的月光、乡愁与无尽思绪.mp4",
'title': '静夜思:李白笔下的月光、乡愁与无尽思绪',
'description': '静夜思:李白笔下的月光、乡愁与无尽思绪',
'category': '27', # 教育类别
'tags': ['李白', '静夜思', '古诗鉴赏'],
'privacyStatus': 'public',
'madeForKids': False, # 直接在这里设置,而不是嵌套在'status'字典内
},
# 添加更多视频
]
upload_videos(video_files)
在这个脚本中,你需要替换 video_files 列表中的视频信息,包括文件路径、标题、描述等。另外,确保已经安装了 google-auth-oauthlib 和 google-api-python-client 库来处理认证和 API 调用。
请注意,由于 YouTube 上传视频需要经过认证,这个脚本会在首次运行时打开一个新的浏览器窗口或者给出一个 URL 让你完成 OAuth 2.0 认证流程。认证成功后,脚本会保存认证信息以便下次使用。
注意事项
原文链接:http://www.wzcl.net/social/youtube/9386.html,转载请注明出处~~~
免责声明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
评论0