Youtube 数据 Api 搜索端点 401 错误

Youtube Data Api Search Endpoint 401 Error

我正在尝试使用 Youtube 搜索 endpoint,它似乎不需要 OAuth 令牌。我读过一些教程,它们只传递了一个 API 键。我在 Chrome Dev Tools 的控制台中收到“无法加载资源:服务器响应状态为 401 ()”错误。具体来说,查看“网络”选项卡我得到了这个:

我注意到它说有一个 error: "invalid_token" 但我传递了 api 密钥所以他们一定是在谈论 OAuth 令牌?我很困惑,因为它不需要一个,特别是因为我只是在查询 public 数据。甚至端点文档的 Try This API 部分也不需要。最重要的是,我在 Postman 中的调用有效,只需将端点直接粘贴到我的浏览器中即可。为什么它不起作用?这是使用来自 ReactJS 前端的 axios 调用。

const apiKey = 'MY_API_KEY';
const url = 'https://www.googleapis.com/youtube/v3/search';

const response = await axios.get(url, {
  params: {
    part: 'snippet',
    maxResults: 5,
    q: songName,
    key: apiKey
  }
});

发生的事情是我在其他 API 的其他呼叫中使用了 axios.defaults.headers.common['Authorization'] =Bearer ${params.access_token};。这会导致默认所有内容都具有此访问令牌!所以我现在所做的是 delete axios.defaults.headers.common["Authorization"];——解决方案非常明显,只需确保您没有额外的 headers,因为搜索不是 OAuth 端点!