LoginSignup
7
13

More than 5 years have passed since last update.

Twitch API をNode.jsで叩いて配信一覧を取得する

Last updated at Posted at 2017-07-21

Twitch API を利用して、特定のゲーム、特定の言語(日本語)の配信情報を抜き出したかったので、Node.jsで利用したメモ。

Get Live Streams を利用。
Search Streams も似ているが、こちらは配信言語でフィルタができない。

twitch_get_live_streams.js
var request = require('request');

//変数系の設定
var twitch_client_id = '**********'; //twitch側で作成したアプリのclientID
var game = 'overwatch'; //検索したいゲームタイトル
var language = 'ja'; //検索したい配信言語

//検索用URL生成
var searchURL = 'https://api.twitch.tv/kraken/streams/?game=' + game + '&language=' + language;

//リクエストヘッダー設定
var headers = {
  'Accept': 'application/vnd.twitchtv.v5+json',
  'Client-ID': twitch_client_id
}

//リクエストオプション設定
var options = {
  url: searchURL,
  method: 'GET',
  headers: headers,
  json: true
}

//APIへリクエスト送信
request(options, function (error, response, body) {
  if (!error) {
    if (body._total > 0) {
      //取得成功
      var streams = body.streams
      console.log(streams);
    } else {
      //配信数ゼロ
    }
  } else {
    //リクエスト送信エラー
    console.log(error);
  }
});

以上で配信中の一覧のjsonデータが得られる。

使っているライブラリはrequestのみ。twitch-apiなどのライブラリもnpmに存在するが使い方がよくわからなかったので普通にAPIを叩いた。

TwitchのWebサイト上で検索した時と同じように視聴者数順で返してくるので、用途によってはデータの加工や検索クエリに工夫が必要。

7
13
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
13