更新
这个全面的答案解决了我的问题:
https://stackoverflow.com/a/29112224/1045794
我正在看https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/quickstart_code.htm
在获得Salesforce版本后,我正在尝试获取资源列表。
这是我访问第三方API的正常方式,但会导致401错误,就好像我未经授权一样。我相信我使用的是正确的令牌,但也许这实际上是一个糟糕的请求。
var url = 'https://company.lightning.force.com/services/data/v51.0/';
var myBody = '';
var headers = {"Authorization" : 'Bearer ' + 'my_token'};
var params = {
'method': 'GET',
//'muteHttpExceptions': true,
'headers': headers,
'contentType': 'application/json',
//'payload': myBody
};
var res = UrlFetchApp.fetch(url, params);
var myObj = JSON.parse(res.getContentText());
Logger.log(myObj)
编辑-我知道URL是正确的,因为测试https://company.lightning.force.com/services/data/返回版本号
编辑2-将URL更改为https://company.my.salesforce.com/services/data/v50.0/导致相同的错误
我认为应该将Headers而不是普通对象传递给fetch
params:
var params = {
'method': 'GET',
//'muteHttpExceptions': true,
'headers': new Headers(headers),
'contentType': 'application/json',
//'payload': myBody
};