2
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?

初めてのTwitchAPI利用方法

Last updated at Posted at 2024-01-28

はじめに

TwitchAPIには100種類上のエンドポイントが用意されており、それらすべてを無料で利用することができます。(レート制限あり)

今回はTwitchAPIの利用までの流れを紹介していきます。

目次

  1. Twitch Developersでアプリケーションの登録
  2. アクセストークンの取得
  3. 利用したいAPIにアクセス

1. Twitch Developersでアプリケーションの登録

まず、Twitch Developersにアクセスし、アプリケーションの登録をします。登録手順に関しては、以下の記事で丁寧に説明されていたため、そちらを参考にしてください。

※アプリケーション名「test」「test_app」では作成できなかったため、
 おそらくアプリケーション名の重複が許されていないかと思います。
 重複していてもエラー表示が特に出ないため、要注意です。

登録後に確認できるクライアントIDとクライアントの秘密をアクセストークンの取得で使用するため、メモしておいてください。

2. アクセストークンの取得

TwitchAPIにはユーザーアクセストークンアプリアクセストークンの2種類あります。

どちらのアクセストークンが必要なのかに関してはTwitch API Referenceに記載されているため、使用するAPIに合わせてアクセストークンを取得すると良いでしょう。
取得方法に関しては、Twitch APIの公式や以下の記事で詳しく説明されているため、それぞれの特徴について話していきます。

ユーザーアクセストークン

ユーザーアクセストークンとは?

ユーザーアクセストークンは、リソースにアクセスするためにユーザーの許可を必要となるAPIで使用されます。Twitchはスコープを使用して、アプリがアクセスするために許可が必要なリソース、またはリソース内のフィールドを識別しています。

TwitchAPIのスコープ一覧はこちらから。

取得方法1:Implicit Grant Flow

Implicit Grant Flowは、クライアントサイドのみで完結するため、サーバーが不要なJavascriptアプリやモバイルアプリを対象としています。認証コードを交換するステップが不要なので、ユーザーがアクセストークンをすぐに受け取れます。

取得方法2:Authorization Code Grant Flow

Authorization Code Grant Flowは、サーバーを使用し、クライアントの秘密(twitch developersで取得)を安全に保存でき、TwitchAPIに対してサーバー間リクエストを行うことができるアプリを対象としています。

認証コードがまずクライアントに送られ、その後サーバー側でアクセストークンが交換されるため、トークンの露出リスクが低減されます。また、リフレッシュトークンも取得できるため、アクセストークンが期限切れになった場合でも、新しいトークンを取得できます。これにより、ユーザーに再度ログインしてもらう必要がなくなります。

取得方法3:Device code grant flow

Device code grant flowは、サーバーを使用せず、入力機能が限られたデバイス(スマートTV、ゲームコンソール、プリンタ など)を対象としています。

入力機能が制限されているデバイスでも、ユーザーはスマートフォンやPCを使用して簡単に認証できます。

アプリアクセストークン

アプリアクセストークンとは?

アプリアクセストークンは、リソースへのアクセスにユーザーの許可を必要としないAPIで使用されます。ユーザーアクセストークンと異なり、アプリアクセストークンの取得方法は1つです。

取得方法:Client credentials grant flow

Client credentials grant flowは、アプリアクセストークンを使用するサーバー間の API リクエストのみを対象としています。事前にアプリアクセストークンを取得しておき、サーバー側で任意のAPIにアクセスするという流れになります。

3. 利用したいAPIにアクセス

Twitch API Referenceから利用したいAPIを探し、内容に従ってHTTPリクエストを送信すればリソースを取得できます。

以下の「Get Users」を例に挙げて説明します。「Get Users」はどちらのアクセストークンでもアクセス可能ですが、ユーザーアクセストークンを指定した場合、リクエストはアクセストークン内のユーザーに関する情報が返ってきます。
そのため、アプリを利用するユーザーの情報を取得したい場合は、ユーザーアクセストークンを取得する必要があります。
ユーザーIDを把握している場合は、アプリアクセストークンを利用して、ユーザーIDを指定してあげることで、指定したユーザー情報を取得することも可能です。

TwitchAPI_Get-Users.png

まとめ

TwitchAPIには多くのエンドポイントが用意されているため、
必要なアクセストークンを取得し、好きなAPIを呼び出して遊んでみてください!

参考文献

2
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
2
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?