各局皆様、こんにちは。アマチュア無線局、JS2IIUです。
YouTubeの情報をプログラムで取り込んでみよう、ということでYouTube APIが使えるように設定してみましたので、その手順を残しておきます。Googleが手順をYouTube動画で紹介していますが、古過ぎて画面が全くちがうので、このページの情報が役に立つと思います。2022年7月にスクリーンショットを撮ったものです。
目次
前提
- Google アカウントがある
- Google Cloud Consoleにアクセス可能
- Postmanが使える状態
Googleへのアプリケーション登録
Google Cloudのコンソールページにアクセスする
code.google.com/apis/consoleにアクセスする。Countryの選択と、Terms of Serviceを選択する必要あり。
新規プロジェクト作成
Terms of Serviceの確認をした後、下の画面が出てきます。APIを使うにはプロジェクトを作る必要があります。APIを動かすための箱のようなイメージでしょうか。新規アクセスした場合にはプロジェクトが一つもない状態です。CREATE PROJECTをクリックします。(灰色ハイライト部分の右端)
プロジェクトに名前をつけましょう。アンダースコアは使えませんでした。今回YT-api-testというプロジェクト名にしました。名前を入力したら一番下のCREATEをクリックします。
YouTube APIを有効にする
新しいプロジェクトができると、下の画面になります。新しいプロジェクトの中でYouTube APIを有効にするため、オレンジで印をつけた+ ENABLE APIS AND SEARVICESをクリックします。
選択可能なAPIとサービスの一覧です。少し下の方にスクロールするとすぐにYoutube Data API v3というのが出てきます。
YouTube Data API v3をクリックすると下の画面になります。下の画面の中の、オレンジで印をつけたENABLEをクリックする。
アクセスキーを取得する
これで新しく作ったプロジェクトの中でYouTube Data API v3が有効化された状態になりました。続いて、アクセスキーを取得します。下の画面のオレンジで印をつけたCREATE CREDENTIALSをクリック。
Credential TypeはPublic Dataを選びます。今回は、YouTubeの一般公開されている情報しか扱わないためPublicでOKです。
APIキーが生成されたので、メモしておきます。このAPIキーは後から確認することができます。
APIにアクセスする
これで準備が整いましたので、YouTube APIサービスを使ってみましょう。まずはPostman(https://www.postman.com)で手軽にやってみます。Youtube APIのドキュメントはこちらから(https://developers.google.com/youtube/v3/getting-started?hl=ja)。
Postmanの準備
PostmanでYouTube APIにアクセスするための準備をします。おおよその手順です。
- Postmanのワークスペースに新しいコレクションを作成する。今回は「YouTube API v3」にしました。
- 作成したコレクションを選択(下の図の①)
- Authorizationタブを開く。(下の図の②)新しくコレクションを作った時は最初からAuthorizationタブが選択されていると思います。
- TypeをAPI Keyにする。(下の図の③)
- Key、Value、Add toを入力します。Keyは全て小文字で「key」にしてください。KeyだとAPIがエラーを返してきます。ValueはGoogle Cloud Consoleで作ったものをコピペ。Add toは「Query Params」を選択。(下の図の④)
- 最後に必ずSaveします。忘れずにSaveしましょう。(下の図の⑤)
YouTube動画の検索
キーワード検索の方法についてはYouTube APIドキュメントのこちらに記載があります。(https://developers.google.com/youtube/v3/docs/search/list?hl=ja)Postmanで設定します。
- Add new requestでリクエストを追加する。(下の図の①)今回はキーワード検索を試します。リクエスト名は「Search」にしました。
- 「GET」になっていることを確認する。(下の図の②)
- URL:https://www.googleapis.com/youtube/v3/search (下の図の③)図はParamsを入力した後の状態なので、?の後が自動で入力された状態となっています。入力前は空欄なので、このURLだけをコピペすればOK。
- KEY: part, VALUE: snippet、KEY: q, VALUE: JTDX(検索ワードをJTDXにした場合。お好きなキーワードでどうぞ)KEY: type, VALUE: videoとします。(下の図の④)
- 忘れないうちにSaveします。(下の図の⑤)
- リクエストを送信します。(下の図の⑥)
KEY | VALUE |
---|---|
part | snippet |
q | JTDX(検索したいキーワード) |
type | video |
無事レスポンスが帰ってきました。JTDXで検索して一番最初に出てきたのはTemporarily Offline Ham Radioの「Ham Nuggets Live – Exploring JTDX Software」でした。ブラウザでYouTube検索すると日本のコンテンツが優先的に出てくるのですが、API経由では私の設定?がregionCode=”US”のためUSのコンテンツが出てきたのだと思われます。APIレスポンスに「”regionCode”: “US”,」という記述がありますので、各自の環境で確認してみてください。
最後まで読んでいただき有難うございました。73