401 Lightning Web 组件 salesforce 中未经授权的 REST API

问题描述 投票:0回答:2

我正在尝试在 Lightning Web 组件中使用 REST API 执行查询。

Postman 中的请求成功返回结果(启用 Follow Authorization 标头),但在 Lightning Web 组件的 JavaScript 中,它返回 401 Unauthorized。

Javascript中的代码如下:

let sessionId = 'token';
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);
    });
}

我错过了什么吗?

javascript ecmascript-6 salesforce fetch-api lwc
2个回答
1
投票

由于您无法将值

Authorization
传递到
no-cors
模式,因此您需要在 SalesForce 中添加 CORS 配置 作为安全端点,以便您可以进行呼叫。


0
投票

您无法使用“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
© www.soinside.com 2019 - 2024. All rights reserved.