Javascript Reed API获取请求出现网络错误&;基本授权

Javascript Reed API获取请求出现网络错误&;基本授权,javascript,node.js,api,Javascript,Node.js,Api,我正在尝试向REED jobs API发出请求,尽管我收到了错误:TypeError:NetworkError在尝试获取资源时。正在React组件中进行调用。Reed API声明您需要将所有请求的API密钥作为用户名包含在基本身份验证http头中,密码为空。这一部分让我感到困惑,我不知道如何以这种方式配置提取。为了帮助实现这一点,我从Postman发送了API调用,并成功地获得了响应。因此,我使用Postman的代码生成功能进行了以下调用,但它不起作用: var myHeaders =

我正在尝试向REED jobs API发出请求,尽管我收到了错误:
TypeError:NetworkError在尝试获取资源时
。正在React组件中进行调用。Reed API声明
您需要将所有请求的API密钥作为用户名包含在基本身份验证http头中,密码为空。
这一部分让我感到困惑,我不知道如何以这种方式配置提取。为了帮助实现这一点,我从Postman发送了API调用,并成功地获得了响应。因此,我使用Postman的代码生成功能进行了以下调用,但它不起作用:

    var myHeaders = new Headers();
    myHeaders.append("Authorization", `${process.env.REACT_APP_REED_KEY}==`);

    var requestOptions = {
      method: "GET",
      headers: myHeaders,
    };

    fetch("https://www.reed.co.uk/api/1.0/search?keywords=accountant&location=london&employerid=123&distancefromlocation=15", requestOptions)
      .then((response) => response.text())
      .then((result) => console.log(result))
      .catch((error) => console.log("error", error));
更新:

我已将代码更改为以下代码。不幸的是,我仍然得到一个错误。我现在还收到一个新错误:
跨源请求被阻止:同源策略不允许读取远程资源https://www.reed.co.uk/api/1.0/search?keywords=accountant&location=london&employerid=123&distancefromlocation=15. (原因:CORS飞行前响应未成功)。

更新代码:

   import { encode } from "base-64";

    var myHeaders = new Headers();
    myHeaders.append("Authorization", `Basic ${encode(process.env.REACT_APP_REED_KEY)}`);

    var requestOptions = {
      method: "GET",
      headers: myHeaders,
    };

    fetch("https://www.reed.co.uk/api/1.0/search?keywords=accountant&location=london&employerid=123&distancefromlocation=15", requestOptions)
      .then((response) => response.text())
      .then((result) => console.log(result))
      .catch((error) => console.log("error", error));

1.奇怪的是,您在base64字符串的末尾添加了
=
。不是每个base64字符串都有,它是根据输入字符串的长度填充的。使用实际的base64编码。2.REACT_APP_REED_键是否包含字符串
Basic
?从你的例子中看不出来1:
=
是邮递员给你的;我相信那里通常会有密码,但里德不需要。我试着移除它,但什么也没改变。我将尝试尝试使用base64编码。2:它不包括
Basic
,只包括键。如果它们需要Basic auth,则字符串
Basic
必须在其中。阅读基本授权,这比猜测它如何工作要好。请检查我的更新。看起来你解决了第一个问题。这个与CORS相关的新问题是另一个问题,这个网站上有大量关于CORS是什么的重复。很可能reeds.co.uk不会让你故意这么做。奇怪的是,您在base64字符串的末尾添加了
=
。不是每个base64字符串都有,它是根据输入字符串的长度填充的。使用实际的base64编码。2.REACT_APP_REED_键是否包含字符串
Basic
?从你的例子中看不出来1:
=
是邮递员给你的;我相信那里通常会有密码,但里德不需要。我试着移除它,但什么也没改变。我将尝试尝试使用base64编码。2:它不包括
Basic
,只包括键。如果它们需要Basic auth,则字符串
Basic
必须在其中。阅读基本授权,这比猜测它如何工作要好。请检查我的更新。看起来你解决了第一个问题。这个与CORS相关的新问题是另一个问题,这个网站上有大量关于CORS是什么的重复。很可能reeds.co.uk不允许您故意这样做。