Twitch API

ClipHypeで使用しているAPIの詳細や認可フロー、ユーザ認証方法についてまとめる

レート制限

  • リクエストのレート制限はユーザごとに主にリクエスト数で決められる
  • 毎分800ずつポイントが再分配される
  • 一部のAPIは消費ポイントが異なる
  • ポイントがなくなった場合は429(Too Many Requests)レスポンスが返ってくる

OAuth client credentials flow

  • サーバ側でユーザ情報なしにAPIを叩く方法
  • あるユーザの許可が必要になるようなAPIは使用できない
  • server-to-serverでのみ使用すべきでユーザ側では使ってはいけない
  • 使用できるトークンはapp access token

app access tokenを取得するリクエスト

POST https://id.twitch.tv/oauth2/token
    ?client_id=<your client ID>
    &client_secret=<your client secret>
    &grant_type=client_credentials
    &scope=<space-separated list of scopes>

レスポンスでbearer tokenがもらえるので、有効である間そのトークンを使用してAPIを叩く