Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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 如何使用授权令牌授权提取调用?_Javascript_Fetch Api - Fatal编程技术网

Javascript 如何使用授权令牌授权提取调用?

Javascript 如何使用授权令牌授权提取调用?,javascript,fetch-api,Javascript,Fetch Api,我正试着打电话给一位女士。Fetch在正常工作时抛出未经授权的错误 代码 首先,你应该永远不要在任何公共平台上发布API密钥,因为任何人都可以访问和利用你本应付费的API 解决方案 您正在使用的终结点似乎无效。另外,不要使用模式:“无cors”,除非符合您的需要。否则,您将无法访问响应对象中的任何属性 401错误原因:使用无cors可防止在请求中添加授权标头 克服CORS错误:在开发过程中,它通常发生在本地主机中。您可以使用允许CORS的 const QUERY = 'piano'; cons

我正试着打电话给一位女士。Fetch在正常工作时抛出未经授权的错误

代码
首先,你应该永远不要在任何公共平台上发布API密钥,因为任何人都可以访问和利用你本应付费的API

解决方案 您正在使用的终结点似乎无效。另外,不要使用
模式:“无cors”
,除非符合您的需要。否则,您将无法访问响应对象中的任何属性

401错误原因:使用
无cors
可防止在请求中添加授权标头

克服CORS错误:在开发过程中,它通常发生在本地主机中。您可以使用允许CORS的


const QUERY = 'piano';
const API_KEY = 'foo';
const BASE_URL = `https://freesound.org/apiv2/search/text/?query=${QUERY}`

const headers = {
  method: 'GET',
  headers: {
    Authorization: `Token ${API_KEY}`,
  }
};

fetch(BASE_URL, headers)
  .then((response) => response.json())
  .then((json) => console.log(json))
  .catch((err) => console.log(err));


您发布了API密钥,。你现在需要买一个新的。别这样!在《邮递员》中,您是否在回复中获得CORS标题。具体来说,
访问控制允许原点
?如果是这样,您可以将模式设置为
cors
,它应该可以工作。我希望这会有帮助!没有COR会阻止为共享丢失的信息设置授权标题!感谢您的回答,但我得到了(“跨源请求被阻止:同一源策略不允许在读取远程资源。(原因:CORS请求未成功)。”)没有“无CORS”的erorr。@EyupUcmaz我已更新了答案:)

const QUERY = 'piano';
const API_KEY = 'foo';
const BASE_URL = `https://freesound.org/apiv2/search/text/?query=${QUERY}`

const headers = {
  method: 'GET',
  headers: {
    Authorization: `Token ${API_KEY}`,
  }
};

fetch(BASE_URL, headers)
  .then((response) => response.json())
  .then((json) => console.log(json))
  .catch((err) => console.log(err));