動画をYouTubeに自動アップロードするためのプログラム

2023/11/11 原田 悦志

初めに

今回は、動画ファイルをYouTubeに自動アップロードするために必要なPythonプログラムを紹介します。 動画ファイルをYouTubeに自動アップロードするための手順は、

1.GCPコンソールにログインしてプロジェクトを作成する。

2.YouTube Data APIを有効化する

3.OAuth同意画面の作成(OAuthの詳しい説明→OAuthとは | OAuthの仕組みを図解でわかりやすく解説

4.OAuthクライアントIDの作成

5.プログラムを書く

というようになっていますが、今回は項目5の「プログラムを書く」という部分を解説しようと思います。 解説の所々にそれまでの手順で出てくる用語がありますので、ご了承ください。

パッケージのインストール

まずは、今回のプログラムを実行するにあたって必要なパッケージをインストールします。 Anaconda Promptから以下の通りに入力して下さい。(僕はAnaconda Promptを使っているため、condaにしている)

プログラムの解説

ここからは、実際に使うPythonプログラムの解説をしていきます。

pythonソースコードのダウンロード

ライブラリのインポート

まずは、必要なライブラリをインポートします。

OAuthとAPIのセットアップ

ここでは、YouTube Data APIへのアクセスに必要な権限のスコープを定義しています。

スコープとは、APIを使用する際にアプリケーションがリクエストするアクセス権限の範囲を指定する仕組みのことで、 スコープを指定することでアプリケーションはユーザの許可を得て、YouTubeチャンネルに動画をアップロードする操作を実行できるようになります。

メインの関数

次に、メインの関数を加えます。

2~4行目について、プログラムをローカルで実行するときにOAuthlibのHTTPS検証を無効にするための設定を行っています。僕の場合は個人で利用したため、この設定を追加していますが、 通常の本番環境ではセキュリティ上の理由から無効にすべきではないです。

6~8行目について、YouTube Data APIのサービス名、APIのバージョン、クライアントの秘密鍵ファイルを設定しています。 ここでのJSONファイルについては、OAuthクライアントIDを作成した際にダウンロードするものです。詳しくは今回の記事の参考元をチェックしてください。

10~15行目について、OAuthの認証を通じてYouTube APIにアクセスするための認証情報を取得しています。

YouTube APIリクエスト

最後に、YouTube APIリクエストを加えます。

リクエスト内の、partパラメータには、「snippet」と「status」が指定されており、これにより動画のメタデータやステータスの情報がリクエストに含まれます。 また、bodyパラメータには、具体的な動画の情報が指定されています。

snippetパラメータ:動画を投稿するチャンネルIDや動画のタイトル、動画の説明、言語など

statusパラメータ :公開設定やライセンスなど

media_body=MediaFileUpload()の部分の()には投稿したい動画ファイルのパスを書きます。

参考文献

1.Python3のYouTube Data Apiで動画を投稿/サムネイル追加/動画情報の編集/削除する

2.GCPコンソール

3.OAuthとは | OAuthの仕組みを図解でわかりやすく解説