使用邮递员击中https://login.salesforce.com/services/oauth2/token时。
POST https://login.salesforce.com/services/oauth2/token
回复:
我收到一个令牌,但是当我尝试做像GET / limits这样简单的事情时,
获取https://na73.salesforce.com/services/data/v45.0/limits
响应为:
[
{
"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新手有什么想法吗?
答案 0 :(得分:4)
我在永久性地敲打它之后实际上已经解决了这个问题。您需要进入“设置”标签并启用“遵循授权标头”设置。
答案 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
值就可以了。