Pythonを使ってYouTubeに動画を投稿するには、YouTube Data APIを使用する必要があります。
これは、YouTubeに対応するRESTful APIです。
以下に、必要な基本的な手順を記載していきます。
- Google Cloud Consoleでプロジェクトを作成し、そのプロジェクトでYouTube Data APIを有効にする。
- プロジェクトの認証情報(OAuth 2.0 クライアント ID)を作成し、クライアントの秘密ファイルをダウンロードする。
- Python用のGoogle APIクライアントライブラリをpipでインストールする。
-
!pip install google-api-python-client
-
- 以下のコードを使用して、YouTube Data APIへのアクセスを認証・認可する。
-
import os import google.oauth2.credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build CLIENT_SECRETS_FILE = 'path/to/client_secrets.json' SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl'] def get_authenticated_service(): flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES) credentials = flow.run_local_server(port=0) return build('youtube', 'v3', credentials=credentials)
-
- 動画をアップロードするコードを実行する。
-
def upload_video(youtube, file_path, title, description, privacy_status='public'): request_body = { 'snippet': { 'title': title, 'description': description, 'tags': ['python', 'tutorial'], 'categoryId': '22' }, 'status': { 'privacyStatus': privacy_status } } media_file = MediaFileUpload(file_path) response = youtube.videos().insert( part='snippet,status', body=request_body, media_body=media_file ).execute() print(f"Video id '{response['id']}' was successfully uploaded.") if __name__ == '__main__': youtube = get_authenticated_service() upload_video(youtube, '/content/sample_data/xxxxxx_video.mp4', 'My Python Video', 'A tutorial on how to use Python.')
-
このコードは、指定されたタイトル、説明、タグ、およびプライバシーステータスを持つビデオをYouTubeチャンネルにアップロードします。
リクエストの本文は、要件に応じてカスタマイズできます。
YouTubeに動画をアップロードするためには、適切な権限とクォータが必要であることに注意してください。