[iOS] YouTube Data API v3 を使ってみる

iOSアプリでYouTubeを検索して動画一覧を表示したい

お気に入りに登録などアカウント周りの処理はせず、YouTubeに公開されている動画を検索して一覧を表示したい。
そう思ったので、そのAPIにアクセスするまでの手順をまとめます。
ざっくり手順は公式ドキュメントに記載されていますが、個人的にやや混乱しがちだったので。

Google にプロジェクトを登録する

まず Google APIs の認証情報ページ にいきます。
以下のようなダイアログが表示されるので、国と利用規約を確認して、右下の「同意して続行」をクリックします。

最初のダイアログ

以下のような画面に変わるので、「プロジェクトを作成」をクリックします。

「プロジェクトを作成」をクリック

で、以下の画面でプロジェクト名と場所に適切な内容を入力して、「作成」をクリック。

新しいプロジェクト

以下のような画面になりました。

「 ⚠️ 必ず、アプリケーションに関する情報を使用して OAuth 同意画面を構成してください。」
という気になる注意書きがありますが、内容をざっと見るとOAuth 用の設定のようでした。
今回はOAuth ではなくAPIキーによる認証のため、スルーします。

プロジェクト作成完了

これでプロジェクトの作成が完了しました。

API キーを作成し、若干の項目を設定する

次にAPIキーを作成します。
APIキーはプロジェクトに紐づいています。
URLにAPIキーを付与しないとAPIがエラーを返します。

「+ 認証情報を作成」をクリックすると、認証情報の種類一覧が出てくるので、「API キー」を選択します。

APIキーを選択

すると以下のようなダイアログが表示され、APIキーが作成されました。
このAPIキーをURLのパラメータに含めれば、誰でもどこでもAPIにアクセスできるようになりました。
検証用とは言えそれは怖いので、アクセス制限をかけます。
右下の「キーを制限」をクリックします。

APIキー作成完了

以下の画面になりました。
よければついでにAPIキーの名前も変えます。
なおこの画面はいつでも見られるので、ここにある情報は後で何回でも変更可能です。

「⚠️ このキーに制限はありません。」と表示されています。
怖いですね。
「アプリケーションの制限」でiOSアプリを選択します。

iOSアプリからのみに制限したい

iOSアプリを選択すると以下の表示になります。
「項目を追加」と押すとバンドルIDの入力欄が出てくるので埋めます。
先述の通り、この画面は後でも表示できるので、まだアプリのバンドルIDの用意がない場合は後で埋められます。

iOSアプリのみに制限

で、そのすぐ下の「キーを制限」を選択します。
すると以下のように「Select APIs」というセレクトボックスが表示されますが、何も選択できません。
プロジェクトで利用可能なAPIをまだ設定していないためです(すぐ後で設定します)。
つまりキー制限をするといまは何のAPIも叩けません。

とりあえず「保存」を押せば、一旦完了です!

「キーを制限」を選択して、「保存」を押す

保存を押すと、もとの画面に戻ります。
以下画像の通り、APIキーの行をクリックすると先程のAPIキーの制限設定や名前変更画面に遷移します。
iOSアプリのバンドルIDを決定したら設定します。

元の画面

作成したAPIキーに利用可能なAPIを設定する

APIキーは作成できましたが、利用可能なAPIを選択していない(できない)ので、何もアクセスできません。
なので、YouTube Data API をアクセス可能にします。

画面上の検索窓で「youtube」と入力すると以下のようなサジェストが表示されるので、「YouTube Data API v3」をクリックします。

YouTube Data API v3をクリック

もちろん「有効にする」を押します。

その右の「このAPIを試す」を押すとAPIドキュメントに飛ばされますが、APIドキュメントにはブラウザでAPIアクセスできるサンドボックスが用意されているので、多分それを使ってねということだと思います。

YouTube Data API v3 を有効にする

「有効にする」ボタンを押すと、以下の画面に移ります。
「認証情報」をクリックします。

認証情報をクリック

先程作成したAPIキーが表示されるのでクリックします。

APIキーをクリック

「Select APIs」をクリックするとYouTube Data API v3 が選択可能になっています。
チェックを入れて「保存」をクリックして下準備は終了です。

YouTube Data API v3 を選択

これでAPIが叩けるようになりました!

APIにアクセスする

あとは検索APIのドキュメントを見つつパラメータを組み合わせてGETアクセスするのみです。
実際のURLは以下のようになります。
keyパラメータを付与するのを忘れずに!

https://www.googleapis.com/youtube/v3/search?key=<作成したAPIキー>&好きなパラメータ...

ちなみにpart キーに snippet、type キーに video と指定すると、サムネイルやタイトルや動画のIDが取得できてYouTubeの検索結果っぽくできそうです。

ちなみに、ドキュメントだけだとAPIのレスポンススキーマが把握しづらいと思います。
そんなときはドキュメントの下の方にある実際に試してみるから、ブラウザ上でAPIを叩いてレスポンスを確認できます。
今回APIキーでのアクセスをiOSアプリからのみに制限したことで、アドレスバーにURLを入力してレスポンスを確認するという方法が取れない状態です。
そういうときのためにこの機能があるのだと思います。

これでAPIを叩いて色々いじれるようになりました!

最後に

以上です。お疲れ様でした!

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。