我正在使用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>