1

我正在尝试从游戏 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 上做过这个。我发现很多人都有同样的问题,但无法复制他们的任何解决方案。有人知道吗?谢谢。

4

1 回答 1

1

您需要获取一个与客户端密码分开的授权令牌,以在授权标头中使用。客户端凭据流是三个受支持且适合不代表任何特定用户完成的后端 API 调用中最简单的一个。

于 2020-10-13T03:44:39.787 回答