Python で副業(?) YouTube Data API を使ってみる 〜その3:ライブラリを使ってプログラミング〜

プログラミング

いくつかサンプルプログラムがありますので、こちらのプログラムを利用しましょう。

Python Code Samples  |  YouTube Data API  |  Google Developers

しかし

  • API Key を使う場合、取得系の API は利用可能。追加・更新系は利用不可
  • 追加・更新系の API を使用するには OAuth トークンが必要
  • お知らせメッセージ等、一部の機能はチャンネル登録者数 1,000 人以上が必要
  • サンプルプログラムが Python2 系で書かれているため修正が必要
    Python2 系:
     ・print "some messages"
     ・except AnError, e:
    Python3 系:
     ・print("some messages.")
     ・except AnError as e:

など細かい前提がありますのでご注意下さい。
なお、プログラムは git を使って取得可能ですが、簡単のためコピペして利用いたします。

ライブラリのインストール(1)

まずは必要なライブラリをインストールします。公式サイトのリンクをクリックして下さい。
キーボードの「Ctrl」キーを押しながらクリックすると、リンク先を新しいタブで開くのでオススメです。(「Shift」キーを押しながらクリックすると、新しいウィンドウで開きます)

公式サイトの様子。「Python用のGoogle APIクライアントライブラリ」をクリックする

遷移先のページに、事項すべきコマンドが記載されています。ご自身の環境に合わせて選択肢て下さい。

下にスクロールすると、環境毎に実行すべきコマンドが記載されている

VS Code の「Terminal」を開き、上記のコマンドを入力・実行します。
<your-env> の部分は任意です。私は「Python_de_YouTube_API」にしました。

「pip install virtualenv」コマンドを実行している様子
「virtualenv <your_env>」を実行している様子
「source <your_env>/bin/activate」を実行する様子
「<your_env>/bin/pip install google-api-python-client」を実行する様子

which pythonwhich pip コマンドを実行すると、virtualenv で構築した環境のコマンドが設定されていることが確認できます。
さらに pip list コマンドを実行すると、google-api モジュールがインストールされたことが確認できます。

「which python」「which pip」「pip list」コマンドを実行した様子

ライブラリのインストール(2)

使用するプログラムがアップロードされている GitHub にあるコマンドを使用して、足りないライブラリもインストールします。

公式サイトの「GithubのYouTube APIコードサンプルリポジトリ」をクリック
「python」をクリック
必要なライブラリをインストールするためのコマンドを確認する様子
「pip install –upgrade google-api-python-client」コマンドを実行する様子
「pip install –upgrade google-auth google-auth-oauthlib google-auth-httplib2」コマンドを実行する様子

認証情報の作成と取得

まだ準備は終わりません。(……長い)
次は Web アプリケーション用の認証情報を作成し client_secret.json として保存します。

プログラム利用するための準備について記載されている様子

Google Cloud Platform の画面を閉じてしまっている場合は こちら から開いて、「メニュー」→「API とサービス」→「認証情報」を選択して下さい。合わせてプロジェクトも選択して下さい。
続けて「+認証情報を作成」→「OAuth クライアント ID」を選択します。

Google Cloud Platform で「認証情報」を選択する様子
「OAuth クライアント ID」を選択する様子

「認証画面を設定」する必要がある場合は、画面の指示に従って下さい。

「認証画面を設定」を選択する様子
「外部」→「作成」を選択する様子

必須項目を入力します。
① 「YouTube Data API 確認のためのアプリ」としました。
② リストからの選択になります。

必須項目を入力する様子
スコープは指定せず、「保存して次へ」をクリックする

追加するユーザは 自分、且つ YouTube アップロードした動画を保有しているアカウントとして下さい。※ログインできることと、動画情報を取得することができることが条件になるため

テストユーザを追加する様子

OAuth 同意画面の作成が完了したら、改めて「+認証情報を作成」→「OAuth クライアント ID」を選択します。
「アプリケーションの種類」では、「テレビと入力が限られたデバイス」または「デスクトップ アプリ」を選択します。

改めて「OAuth クライアント ID」を選択する様子
「テレビと入力が限られたデバイス」を選択して「作成」する様子
作成された認証情報(client_seacret_xxxxxx.json)をダウンロードする様子

ダウンロードした JSON ファイル名を「client_secret.json」に変更して取り込みます。エクスプローラから VS Code のフォルダにドラッグ・アンド・ドロップすれば取り込めます。

「client_secret.json」を取り込んだ様子

サンプルプログラムの動作確認

同じフォルダに「my_uploads.py」ファイルを作成します。
ファイル名は Github にあるファイル名に合わせました。また、上記のようにサンプルプログラムは Python2 系で書かれているため、一部、プログラムの修正が必要になります。

「my_uploads.py」を作成した様子

準備ができたのでプログラムを実行してみましょう!

上記で追加したテストユーザのアカウントでログインする。

他のテストユーザのアカウントでも確認してみました。手順は先程と同じです。
認証コードを取得しなおして VS Code に貼り付けると、別のチャンネルの動画情報を取得できました。

クオータの確認

一応、クオータについても確認しておきましょう。
Google Cloud Platform で「API とサービス」を表示しているかと思いますので、そのまま「ダッシュボード」を確認して下さい。下の方にスクロールすると、各 API 毎のリクエスト数などが確認できます。

API の使用量(リクエスト数)を確認している様子

個別の API 毎に詳細を確認するには、API 名をクリックして下さい。

今回は短時間の間に、少しだけ使用したので「1 分あたり」を「1 時間」で確認してみました。グラフ中をドラッグ・アンド・ドロップすることで更に範囲指定も可能です。

リクエスト情報を確認(1)
リクエスト情報を確認(2)

Python を用いた YouTube Data API の使い方を、サンプルプログラムを用いて確認してみました。
合わせて OAuth を使う場合の準備についても確認いたしました。公式サイトに乗っているサンプルプログラムが、Python2 系で書かれているという落とし穴はありますが、他にも色んなサンプルが載っていますので、興味のあるものを選んで実際に使って見て下さい。
今回は以上になります。

コメント

タイトルとURLをコピーしました