27
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【メモ】Youtube API Data (v3)のクオータについて

Last updated at Posted at 2018-03-22

この文章は自分用のメモです

Youtube API Data v3クオータドキュメント
YoutubeのAPI利用時にはリクエストとは別の概念の利用制限がある。
それが、クオータと呼ばれるQueryっぽい感じの単位。
別にユニットと呼ばれる単位もある。
Googleのコンソールから利用申請をしてAPIキーを取得すると今現在(2018/03/22)1,000,000ユニット/user/day与えられる。これは利用申請で拡張することができるみたい。

各リソースの ID を取得するだけの単純な読み取り操作の場合、コストは約 1 ユニットです。

videos.list リクエストのコストは約 21 クォータ ユニットになります。

こんな感じのドキュメントがあるので実際どうなのかを検証してみた。

検索ワード(ほげふが)にマッチする動画をアップロード順で最新50件の情報を取得するスクリプト

from googleapiclient.discovery import build
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, developerKey=develop_key)

# 検索文字にマッチするidを取得
id_response = youtube.search().list(
    q='ほげふが',
    part="id",
    fields="items(id(videoId))",
    safeSearch="strict",
    order="date",
    type='video',
    maxResults=50
).execute()

# responseからidを取り出す
video_id = 'id_responseからvideo_idを取り出す'

# idからYoutubeの詳細な情報(タイトルや説明文、viewCountなど)を取得
videos_response = youtube.videos().list(
    part='id,snippet,statistics,contentDetails',
    id=video_id
).execute()

実際にコードを書いてリクエストを実行してみた。
Googleコンソールで確認してみたら、上記コードだけで 109ユニット 使用していた。
ちなみに内訳は

API 利用ユニット数
youtube.search().list 101
youtube.videos().list 8

もしかしたら、環境や検索ワードによって違うかもしれないのであくまで参考までに。

感想

ユニットの対応表が欲しい。
あと、GoogleAPIのドキュメントはいつ読んでも天才向けに書かれているなと思う。一般人には読み解くのにかなり時間がかかってキツイ。

27
21
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
27
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?