最近,Twitch使用新端点等带来了新的API版本。
我正在使用V5,但是我没有使用卷曲命令行,我使用URL。
所以我决定查看新版本的参考,例如尝试获取追随者并找到以下内容:
https://api.twitch.tv/helix/users/follows?to_id='user ID'
所以我用ID(我的和/或其他)替换user_ID
并获得:
{
"error":"Unauthorized",
"status":401,"message":"Must provide a valid Client-ID or OAuth token"
}
当我在V5上工作时,我将client_id
和oauth
放在URL的末尾:
https://api.twitch.tv/kraken/channels/CHANNELNAME?client_id=xXxXxXxXxX&oauth_token=aaaabbbbccc111
它正在工作,但是在新的API中,我已经有一个参数,所以我在使用&
连接器的后添加了client_id
和令牌...但是仍然存在相同的错误。
我还尝试将它们放在to_id
参数之前,但相同...
所以我的问题真的很愚蠢,但是任何人都知道新API上的URL格式?
您现在应该在请求的标题中发送客户端ID,而不是作为URL的参数。但是,如果使用卷发,则SSL/HTTPS还有其他问题。这是解决您问题的解决方案
DEFINE (TWITCH_API_KEY,'YOUR_KEY_HERE');
$url = 'https://api.twitch.tv/helix/streams/metadata';
$ch = curl_init();
$headers=['Client-ID: '.TWITCH_API_KEY];
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;