使用Twitch的API通过一个请求获得多个渠道

时间:2018-08-08 19:19:02

标签: php api twitch

我正在使用Twitch的API请求有关用户的一些详细信息,特别是我需要获取他们的信息:twitch用户,频道,直播频道

我没有任何问题的详细信息,我已经设置好了,因此我可以通过一个请求获得大量用户。他们的直播频道也一样。但是根据Twitch的API,仅获得频道信息,我就必须为每个用户发送一个请求。无论如何,我看不到要获得大量频道的列表

例如,使用下面发布的代码,我可以在一个简单的请求中获得10-100s的用户抽动用户数据

但是当我尝试发送太多请求时,我的API就会被阻止

用于获取批量抽搐用户数据的代码

public static function setTwitchUserBulk($users)
{
    // Key by their twitch_id
    $users = $users->keyBy('twitch_id');

    $twitch_key = env('TWITCH_KEY');
    $url = 'https://api.twitch.tv/helix/users?';

    foreach($users as $user) {

        $url .= 'login='.$user->twitch_username.'&';
    }

    $data = \App\CustomHelper\ZarlachTwitchHelper::_basicCURL($url, array(
        'Client-ID' => $twitch_key,
    ));

    $data = json_decode($data, true);

    if(isset($data['data'])) {
        $data = $data['data'];

        foreach($data as $twitchUser) {

            if(isset($users[$twitchUser['id']])) {

                // ... handle and store their data
            }
        }
    }
}

According to Twitch's API,我必须使用此URL来获取其频道

GET https://api.twitch.tv/kraken/channels/<channel ID>

当我获得他们的抽搐用户时,我可以简单地继续在url上添加参数,以设置要获取的用户

GET https://api.twitch.tv/kraken/users?login=<user IDs>

0 个答案:

没有答案