You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查Twitch主播是否在线?为何出现OAuth令牌缺失401错误?

问题原因及修复方案

你的代码存在两个关键问题,导致Twitch API返回"OAuth token is missing"错误:

1. Authorization请求头格式错误

Twitch Helix API要求Authorization头的值必须以Bearer 作为前缀,正确格式为:

"Authorization": "Bearer YOUR_OAUTH_TOKEN"

你直接填写了令牌字符串,缺少Bearer 前缀,导致API无法识别这是有效的OAuth令牌。

2. Fetch调用的参数格式错误

fetch函数的第二个参数需要是配置对象,headers是该对象的属性之一。你直接将headers对象作为第二个参数传入,不符合fetch的调用规范,会导致请求头未被正确设置。


修正后的代码:

async function isStreamerLive(username) {
  const theUrl = `https://api.twitch.tv/helix/streams?user_login=${username}`;
  const headers = {
    "Client-Id": 'YOUR_CLIENT_ID', // 替换为你的Client ID
    "Authorization": 'Bearer YOUR_OAUTH_TOKEN', // 加上Bearer前缀
  };

  // 第二个参数传入包含headers的配置对象
  const response = await fetch(theUrl, { headers });
  const data = await response.json();
  console.log(data);
  return data?.data?.find(s => s.user_login === username.toLowerCase());
}

let username = 'kaicenat';
isStreamerLive(username);

额外提示:

  • 确保你的OAuth令牌有效,且拥有访问streams端点的权限
  • 处理英文用户名时,toLowerCase()比toLocaleLowerCase()更简洁,效果一致

内容的提问来源于stack exchange,提问作者Ansh Tyagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:55:16