【发布时间】:2021-01-27 08:32:31
【问题描述】:
我正在尝试列出来自游戏 ID 的活动 Twitch 流。
我的代码如下:
$ch = curl_init();
$URL = 'https://api.twitch.tv/helix/streams?game_id=3412';
$X = [
'Authorization: Bearer {Client Secret}',
'Client-ID: {Client ID}',
];
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, $X);
$result = curl_exec($ch);
结果应该是 Grand Theft Auto III 的流媒体,但是我得到的响应是这样的:
object(stdClass)[121]
public 'error' => string 'Unauthorized' (length=12)
public 'status' => int 401
public 'message' => string 'Invalid OAuth token' (length=19)
我生成了一个新密钥并验证了我的客户 ID 是正确的。我一直在关注这个文档:https://dev.twitch.tv/docs/api/reference#get-streams
在这里挠头,我以前在旧 API 上做过这个。我发现很多人都有同样的问题,但无法复制他们的任何解决方案。有人知道吗?谢谢。
【问题讨论】:
-
我认为 Authorization 中的 KEY 与 Client-ID 中的 KEY 不同
-
@codeomnitrix 很抱歉造成混淆,我将分别发送我的客户 ID 和客户密码,我的原始帖子造成了混乱,我正在更新它。
-
一切看起来都很好。您只需要三重检查您是否为不记名令牌和客户端 ID 设置了正确的值。确保您没有意外复制任何空白字符或类似内容。
-
@Phil 我已经检查并通过控制台运行了它,以确保 PHP 没有捏造某些东西。我还尝试了他们列出的几个示例,使用我自己的令牌,但似乎没有任何效果。想法用完了。
-
您是否尝试过使用
curl或 Postman 的令牌?
标签: php api curl twitch twitch-api