Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用REST API从本地主机开发时处理COR-Streamlabs API_Javascript_Node.js_Rest - Fatal编程技术网

Javascript 使用REST API从本地主机开发时处理COR-Streamlabs API

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中操作标

我相信这个问题会以某种方式被标记出来,但是数小时的搜索并没有提示任何有用的信息

许多项目需要我使用各种API。当前项目使用Twitch和Streamlabs API。当尝试访问/授权端点时,我遇到了CORS策略限制。这是因为我的referer/origin是localhost

我的问题在于,其他人是如何建立自己的环境来避免这一问题的。我理解CORS为什么会(在某种程度上)阻止我,但我不理解的是,如果
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)