GCP Laravel

LaravelでYoutubeDataAPIで動画一覧取得してみる

YoutubeDataAPIを使ってわちゃわちゃしたので、

簡単に使い方についての備忘録です。

YoutubeDataAPIとは

動画をアップロードしたり、キーワードで検索などができるみたいです。

今回はキーワードで検索しようと思います。

使用する言語はPHPでFWはLaravelです。

参考(これさえ見ればOKとは言わないこと)https://developers.google.com/youtube/v3/code_samples/php?hl=ja#search_by_keyword

前提

  • GoogleDeveloperConsoleのアカウントを持ってる
  • Laravelある程度わかる

GoogleDeveloperConsoleでの準備

  1. GoogleDeveloperConsoleでプロジェクトを作成する
  2. プロジェクトでサービス一覧→YoutubeDataAPIを有効にする
  3. 認証情報でAPIキーを作成する
  4. 作成したAPIキーでYoutubeDataAPIを利用できるようにする

以下、簡易的なスクショ

2で有効にするサービス

4で作成したキーにYoutubeDataAPIを有効にする

 

Laravelのサンプルコード

  1. .envファイルに作成したAPIキーを設定する
  2. YoutubeDataAPIを利用するためのルーティング、コントローラを作成

1の例

.env

2のルーティングやコントローラのファイルの記述

routes/api.php

app/Http/Controllers/PostController.php

app/Services/PostService.php

app/Utils/YoutubeApi.php

 

あとはAPIを実行するだけ

APIの実行

curlやpostman(https://www.postman.com/)で実行

レスポンスはログ(storage/logs/laravel.log)に出しているので中身を確認

items->id->videoIdで動画のユニークになる値が格納されてます。

つまずいた点

実行したら、"Exceed Quota"という403のエラーが出た。

これは元々勉強用に色々利用していた既存のプロジェクトにYoutubeDataAPIを利用した際に、APIの実行上限が一日0になっていて

実行ができない状態になっていた現象。

新しく新規でプロジェクトを作成してAPIを利用するキーを発行することで解決した。

まとめ

  • この記事を書いた人

シロー

Webシステムの開発のお仕事をさせて頂いております。 フリーランスの日常、Web開発に関する情報を発信しています。 趣味はゲーム、映画鑑賞、個人サービスを作ることです。

-GCP, Laravel

© 2021 Shiro's secret base