【问题标题】:401 Unauthorized REST API in lightning web component salesforce闪电网络组件销售人员中的 401 未经授权的 REST API
【发布时间】:2021-04-15 01:25:45
【问题描述】:

我正在尝试在闪电网络组件中使用 REST API 执行查询。 Postman 中的请求成功返回结果(启用 Follow Authorization 标头) 但在闪电网络组件中的 JavaScript 中,它返回 401 Unauthorized java脚本中的代码如下:

let sessionId = 'tokken';
let baseUrl = window.location.origin;
let header = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer " + sessionId,
};
if (sessionId) {
    let options = {
        method: "GET",
        mode: 'no-cors',
        redirect: 'follow',
        headers: header,
    };
    fetch(baseUrl + '/services/data/v50.0/query/?q=SELECT+name+from+Account', options).then((response) => {
        console.log(JSON.stringify(response));
        if (!response.ok) {
            // throw Error(JSON.stringify(response));
        } else {
            return response.json();
        }
    }).then((repos) => {
        console.log(repos, repos);
    });
}

我错过了什么吗?

【问题讨论】:

  • 您从哪里获得该会话 ID?
  • 我得到的会话ID很好

标签: javascript ecmascript-6 salesforce fetch-api lwc


【解决方案1】:

您不能使用“no-cors”模式发送授权标头。

mode: "no-cors"只允许在请求中包含一组有限的标头:

Accept
Accept-Language
Content-Language
Content-Type with a value of application/x-www-form-urlencoded, multipart/form-data, or text/plain

【讨论】:

  • 那么我应该改变什么才能发送授权?我应该设置什么模式?
  • 只删除这一行。它将使用默认模式,即“cors”模式。如果您遇到 cors 错误,请使用 this extensions 进行修复。
  • 好的,谢谢你的帮助,但是客户也必须安装这个扩展才能让这个请求从他那里工作,对吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 2016-02-09
  • 2021-04-07
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多