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 端点!
我正在尝试使用 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 端点!