我确定这个问题会以某种方式被标记,但是经过数小时的搜索,没有提示可用信息。
许多项目要求我使用各种API。当前项目使用Twitch和Streamlabs API。尝试访问/ authorization端点时,遇到了CORS策略限制。这是因为我的推荐人/来源是本地主机。
我的问题在于,其他人如何设置环境以使其成为一个问题。我了解为什么CORS会(在一定程度上)阻止我,但是我不了解的是,如果localhost
有一个全面的限制,我应该如何在生产服务器上工作。
我也尝试过在抓取和使用[no-cors]
中操作标头,但是这里也没有用。有什么想法吗?
// Starts authorization
getAuth() {
const data = fetch (`https://streamlabs.com/api/v1.0/authorize?client_id=${clientID}&response_type=code&redirect_uri=https%3A%2F%2Ftwitchinstudios.com&scope=donations.create%20donations.read%20alerts.write`, {
headers: {
"Origin" : "https://twitchinstudios.com",
"Referer" : "https://twitchinstudios.com"
},
mode: 'no-cors'});
const code = data.json.code;
console.log(code);
// Post to /token endpoint
const tokenCall = fetch (`https://streamlabs.com/api/v1.0/token?grant_type=authorization_token&client_id=knOhuT74QrSn8h1m8tU8ucrFfVIfUuVpll71ErbI&client_secret=${clientSecret}&redirect_uri=https%3A%2F%2Ftwitchinstudios.com&code=${code}`, {
method: 'POST',
mode: 'no-cors'
})
以下是其API的文档:https://dev.streamlabs.com/reference
答案 0 :(得分:0)
这不是CORS问题,也不是API问题。据我了解,这是一个问题。
对于任何绊脚石的人,请检查是否传递了任何Allow-Access标头,如果没有传递标头,则无意从网页级别访问它。
相反,允许我的节点服务器处理请求使我可以访问。