
【副業実験記#13】Python+YouTube Data API+OAuthで自分のチャンネルの動画を取得してみた話
/ 7 min read
Table of Contents
参考記事【副業実験記#12】Python+YouTube Data API+APIキーで自分のチャンネルの動画を取得してみた話
つづき。
はじめに
引き続き、雑学動画自動生成ツールを自作できないか、検討してみているお話です。
今回は、前回の記事の続きで、「Python+YouTube Data API+OAuth」で自分のチャンネルの動画を取得できるか検証してみた話です。
OAuth認証とは、ユーザーが自分のIDやパスワードを直接渡さずに、あるアプリに別のアプリのデータ利用を安全に許可する仕組みです。
YouTube Data APIでは、「自分のチャンネルの公開前の情報を取得するには、APIキーではなく、OAuthという仕組みを使わなければならない」ようなので、今回は「OAuth認証」を使ってデータを取得します。
検証準備
前回記事の「検証準備」に加えて、以下の準備をします。
参考記事/sidejob-experiment-journal-12-youtube-data-api/
Pythonパッケージのインストール
今回は、以下のパッケージを使用します。
| No | パッケージ | 説明 |
|---|---|---|
| 1 | google-api-python-client | Python用のGoogle APIクライアントライブラリパッケージです。Google公式で現役です。 |
| 2 | google-auth | Google APIにアクセスするための「認証・認可ライブラリ」のコアライブラリパッケージです。 Google公式で現役です。 |
| 3 | google-auth-oauthlib | google-auth をベースに、OAuth 2.0 認可フローを簡単に扱うための拡張ライブラリパッケージです。 Google公式で現役です。 |
| 4 | tzdata | Python の標準ライブラリ「zoneinfo」が参照する「IANA Time Zone Database(世界標準のタイムゾーンデータベース)」を、Pythonパッケージとして配布しているものです。 CPythonコアデベロッパーによってメンテナンスされているファーストパーティーのパッケージです。 |
検証用Pythonプロジェクトでvenvを起動し、パッケージをインストールします。
ターミナルでコマンド実行してインストールする方法やPyCharm上で画面を操作してインストールする方法がありますが、今回は、PyCharm上で画面を操作し、venvにパッケージをインストールします。
参考記事PyCharmでvenv仮想環境へパッケージをインストールする方法【Windows 】【初心者向け】
YouTubeチャンネルのテスト動画を公開
作成した自分のチャンネルで任意のテスト動画を公開します。
検証後に削除します。
今回は、以前、MoviePyの検証時に作成した動画を使います。
参考記事/sidejob-experiment-journal-8-moviepy/
動画は、公開状態と予約投稿(検証時は非公開)状態の動画の2つを用意しました。
(APIキー検証時の動画は削除してしまったため、改めて投稿しました)
YouTube Data APIのOAuth認証設定
今回は、APIキーの代わりにOAuth認証の設定を行い、OAuth認証で使う「クライアントシークレット」情報を取得します。
詳細は以下の記事にまとめていますので、ご興味ある方は、そちらをご覧ください。
参考記事YouTube Data APIのOAuth認証を設定する方法|ローカル・テスト環境用【初心者向け】【無料】
検証してみた
YouTube Data API+OAuth認証を使用した動画情報取得の流れ
今回は、OAuth認証後、インストールしたGoogle公式のAPIパッケージ経由で「チャンネル(Channels: list)」と「プレイリスト(Playlists: list)」のAPIを使い、自分のチャンネルの公開前の情報を取得します。
YouTube Data API+OAuth認証を使用した動画情報取得の試し
YouTube Data API+OAuth認証を使ったPythonサンプルコードと実行結果は、以下のnote有料記事にあります。
https://note.com/sepapalab/n/nb8ef3d3a4573
おわりに
「YouTube Data API+OAuth」で、公開されている動画だけでなく、予約投稿(非公開)の動画情報も、ちゃんと取得できることが分かりました。
この方法で予約投稿の動画有無や予約投稿の日時の情報を取得できれば、新しい動画の予約投稿日時算出+自動アップロードが実現できそうです。
次は、YouTubeへの動画自動アップロードを検証してみようと思います。
(今回も検証用のコードは、ChatGPT(GPT-5モデル)に出力してもらったものを微修正したものです)
今回の記事も、同じように副業に悩んでいる人、手探りで取り組んでいる人にとって、何かの参考になれば嬉しいです。
これからも記録を続けていく予定なので、よければフォローしてもらえると嬉しいです。
つづき。
参考記事【副業実験記#14】Python+YouTube Data API+OAuthで自分のチャンネルに動画をアップロードしてみた話