\

この記事では、PythonとYouTube Data APIを使用してYouTubeに動画をアップロードする方法を説明します。

必要なもの

  • Python 2.5以上
  • Google APIs Client Library for Python (google-api-python-client)
  • Googleでアプリケーションを登録し、OAuth 2.0プロトコルを使用してユーザーデータへのアクセスを許可する

スクリプトの概要

以下のスクリプトは、YouTube Data APIを使用してYouTubeにビデオをアップロードします。

from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
from google_auth_oauthlib.flow import InstalledAppFlow

YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
SCOPES = ["https://www.googleapis.com/auth/youtube.upload"]
CLIENT_SECRETS_FILE = "client_secret_path.json"

def authenticate():
    flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
    credentials = flow.run_local_server(port=0)
    return build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, credentials=credentials)

def upload_video(youtube, file_path, title, description, category, privacyStatus):
    request = youtube.videos().insert(
        part="snippet,status",
        body={
            "snippet": {
                "title": title,
                "description": description,
                "categoryId": category
            },
            "status": {
                "privacyStatus": privacyStatus
            }
        },
        media_body=MediaFileUpload(file_path, chunksize=-1, resumable=True)
    )
    response = None
    while response is None:
        status, response = request.next_chunk()
        if 'id' in response:
            print(f"Video id  '{response['id']}'  was successfully uploaded.")
        else:
            print("The upload failed with an unexpected response:", response)

if __name__ == "__main__":
    file_path = "path/to/your/video.mp4"
    title = "Test Title"
    description = "Test Description"
    category = "1"
    privacyStatus = "public"
    youtube = authenticate()
    upload_video(youtube, file_path, title, description, category, privacyStatus)

このスクリプトは、YouTube APIと連携して、ローカルのビデオファイルをYouTubeにアップロードするプロセスを完全に自動化しています。認証からビデオのメタデータの設定、実際のアップロードまで、全てのステップが含まれています。

このコードを実行するには、先にGoogle Developer Consoleでプロジェクトを作成し、YouTube Data API v3を有効にし、OAuth 2.0クライアントIDを生成する必要があります。そして、そのクライアントIDを使って client_secret_*.json ファイルをダウンロードし、指定のパスに配置する必要があります。

まとめ

PythonとYouTube Data APIを使用してYouTubeに動画をアップロードする方法を学びました。これにより、動画のアップロードを自動化し、より効率的に作業を進めることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です