Twitch API 返回带有授权和客户端 ID 的 403?

Twitch API returning 403 with Authorization and Client ID?

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

您需要get an authorization token,它与客户端密码分开,用于授权header。客户端凭据流是三个支持和适合后端调用的最简单的 API 不代表任何特定用户完成的调用。