Javascript 使用REST API从本地主机开发时处理COR-Streamlabs API
我相信这个问题会以某种方式被标记出来,但是数小时的搜索并没有提示任何有用的信息 许多项目需要我使用各种API。当前项目使用Twitch和Streamlabs API。当尝试访问/授权端点时,我遇到了CORS策略限制。这是因为我的referer/origin是localhost 我的问题在于,其他人是如何建立自己的环境来避免这一问题的。我理解CORS为什么会(在某种程度上)阻止我,但我不理解的是,如果Javascript 使用REST API从本地主机开发时处理COR-Streamlabs API,javascript,node.js,rest,Javascript,Node.js,Rest,我相信这个问题会以某种方式被标记出来,但是数小时的搜索并没有提示任何有用的信息 许多项目需要我使用各种API。当前项目使用Twitch和Streamlabs API。当尝试访问/授权端点时,我遇到了CORS策略限制。这是因为我的referer/origin是localhost 我的问题在于,其他人是如何建立自己的环境来避免这一问题的。我理解CORS为什么会(在某种程度上)阻止我,但我不理解的是,如果localhost有一个全面的限制,我应该如何离开生产服务器工作 我也尝试过在fetch中操作标
localhost
有一个全面的限制,我应该如何离开生产服务器工作
我也尝试过在fetch中操作标题,以及使用[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的文档:这不是CORS问题,也不是API问题。据我理解,这是一个问题 对于遇到此问题的任何人,请检查是否传递了任何Allow Access标头,如果没有传递任何标头,则您不能从网页级别访问它
相反,允许我的节点服务器处理请求允许我访问。
这是因为我的引用者/来源是本地主机
-我认为这是一个“Twitch和Streamlabs API”限制,因为本地主机上没有关于CORS的“全面禁令”-我收集“Twitch和Streamlabs API”如果主机不是本地主机,是否工作?您使用的是哪种浏览器?铬?如果是这样,自2010年以来,localhost POST请求是一个突出的bug。有报告(和一些解决方法)。你确定streamlabs.com
发布CORS标题吗?因为我不认为这个问题与主持人是localhost@obsidian我使用的是Chrome浏览器,但通过Firefox进行了测试,以确保从服务器访问.API(因此,示例中使用了curl)