7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bash と cURL で YouTube DATA API からプレイリストを取得するサンプル

Last updated at Posted at 2020-04-14

YouTube API(YouTube Data API)を cURL で叩いて、YouTube プレイリストの一覧を取得したい。

youtube api curl プレイリスト 取得」と Qiita 記事に絞ってググってもピンポイントでヒットしなかったので、自分の備忘録として。

TL; DR

  • ポイント発行した API キーには「YouTube DATA API」の制限をかけておくこと。
Bash+cURLによるGETリクエストのサンプル
#!/bin/bash

# API エンドポイント(リクエスト先の URL)
url_api_endpoint='https://www.googleapis.com/youtube/v3/playlistItems'

# 必須クエリ・パラメーター
key_api_youtube='<Google API Key>'
id_playlist_youtube='<ここに Youtube プレイリストの ID>';
part='snippet'

# オプションのクエリ・パラメーター(0〜50)
num_result_max=50

# クエリ作成
query="key=${key_api_youtube}&part=${part}&playlistId=${id_playlist_youtube}&maxResults=${num_result_max}"

# リクエスト作成
url_request="${url_api_endpoint}?${query}"

# リクエストの実行と取得結果表示
curl -s $url_request | jq .

TS; DR

スクリーンショット 2020-04-14 17.49.15.png

  • ポイント
    • API キーの作成/発行は Google Developer Console の「認証情報」から行う
      1. 「ライブラリ」から YouTube Data API v3 を有効にする
      2. 上部の組織選択(GoogleAPIs のロゴの隣にあるドロップダウン)メニューから、プロジェクトを作成する
      3. 認証情報を作成(API キー)する
      4. 作成/発行した API キーは、編集して「YouTube DATA API」の制限をかけておきます。
        制限がかかっていないと、リクエスト時に「403 Forbidden」エラーが返ってくる

Google API のプロトコルに関する覚書

  • YouTube API の全体的な仕様
  • YouTube プレイリスト項目(アイテム) API の仕様
  • エンドポイント
    • https://www.googleapis.com/youtube/v3/playlistItems
  • part パラメーターの snippet とは
    • リクエストのレスポンスに「動画のプロパティ」(動画情報)を含める
  • アクセス・トークンの指定
    • クエリの keys= パラメーターで指定する
  • アクセス・トークンの種類
    • API キー:
      • 自前で発行したアクセス・トークンのこと
      • トークンは全てのユーザーで共通のものになる
      • 利用する API(ここでは YouTube Data API)で API キーを制限する必要あり
      • :thumbsup: メリット :
        • 簡単
      • :thumbsdown: デメリット:
        • API キー発行者のクォータ(利用制限の容量)を使う
        • OAuth トークンでないと取得できないデータがある(動画の字幕など)
    • OAuth 2.0 トークン:
      • OAuth クライアント・キーを使って OAuth 認証で得たアクセス・トークンのこと
      • トークンは個々のユーザーごとで異なる
      • :thumbsup: メリット :
        • クォータ(利用制限の容量)は各ユーザーごとのを使う
      • :thumbsdown: デメリット:
        • 面倒
        • OAuth 2.0 認証を実装してアクセス・トークンを取得する必要がある
7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?