使用邮递员的Salesforce集成INVALID_SESSION_ID

时间:2019-05-13 18:36:58

标签: javascript api salesforce integration salesforce-lightning

使用邮递员击中https://login.salesforce.com/services/oauth2/token时。

POST https://login.salesforce.com/services/oauth2/token

enter image description here

回复:

enter image description here

我收到一个令牌,但是当我尝试做像GET / limits这样简单的事情时,

获取https://na73.salesforce.com/services/data/v45.0/limits

enter image description here

响应为:

[
    {
        "message": "Session expired or invalid",
        "errorCode": "INVALID_SESSION_ID"
    }
]

奇怪的是,当我将所有凭据更改为使用其他电子邮件地址创建的免费“开发者帐户”时,一切正常。所有请求和标头都完全相同,但来自每个帐户的值除外。

在这里浏览了很多线程之后,我认为也许我的生产帐户(我现在要发布的帐户)未启用API。原来我的生产帐户已启用API。

我还尝试按照某些线程的建议将https://login.salesforce.com/services/oauth2/token更改为https://na73.salesforce.com/services/oauth2/token,但这只是超时。

在比较两个帐户权限时,它们似乎相同,并且我确认我的凭据(客户端ID,客户端机密,安全令牌,访问令牌)没有问题,所有这些似乎都已正确复制。 / p>

对Salesforce新手有什么想法吗?

3 个答案:

答案 0 :(得分:4)

我在永久性地敲打它之后实际上已经解决了这个问题。您需要进入“设置”标签并启用“遵循授权标头”设置。

Follow Authorization Header Setting

答案 1 :(得分:1)

与之抗争了几天后,我排除了这是邮递员的问题。什么垃圾只需遵循https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/quickstart_code.htm并使用curl命令即可。如果我将原始curl命令复制到邮递员中然后运行,它会继续失败并显示INVALID_SESSION_ID,但在ZSH中可以正常工作

非常有用的GUI

答案 2 :(得分:0)

我 2021 年来到这里,对我来说,解决方案不是“遵循授权标头”,而是访问令牌的 instance_url 与预期不同。在 instance_url 中使用此 _endpoint 值就可以了。