所有分类
  • 所有分类
  • 幼儿课堂

youtube批量上传,python代码实现youtube自动上传

在 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

视频上传到百度网盘_youtube如何上传视频_视频上传失败有几个原因

第三步:认证和上传脚本

创建一个 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

评论0

万物复苏春之优惠活动!原398包年VIP,现198;原988终身VIP,现688。随着资源不断增多,随时提价!立即查看
显示验证码
没有账号?注册  忘记密码?