使用 Postman 的 Salesforce 集成 INVALID_SESSION_ID

Salesforce Integration INVALID_SESSION_ID using Postman

点击 https://login.salesforce.com/services/oauth2/token 时,使用 Postman。

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"
    }
]

奇怪的是,当我将所有凭据更改为使用不同电子邮件地址创建的免费 "developer account" 时,一切正常。所有请求和 headers 完全相同,除了来自任一帐户的值。

在浏览了这里的大量主题后,我想也许我的生产帐户(我现在发布的帐户)未 API 启用。原来我的生产帐户已 API 启用。

我也尝试将 https://login.salesforce.com/services/oauth2/token 更改为 https://na73.salesforce.com/services/oauth2/token 正如某些线程所建议的那样,但这只是次出。

比较两个帐户权限时,它们看起来完全相同,而且我已确认我的凭据(客户端 ID、客户端密码、安全令牌、access-token)没有问题,所有这些似乎都被复制了正确。

对销售新手有什么想法吗?

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

中工作正常

有用的 GUI 就这么多了

我真的在不停地敲打它之后解决了这个问题。您需要进入“设置”选项卡并启用“遵循授权”Header 设置。

Follow Authorization Header Setting

我 2021 年在这里,对我来说解决方案不是 'Follow Authorization Header',但访问令牌 instance_url 与预期不同。在 _endpoint 中使用这个 instance_url 值就可以了。

我有同样的问题,即使在激活 Follow Authorization Header

基本上没有直接设置Authorization Bearer,所以我在Pre-request script选项卡中添加了

pm.request.headers.add({key: 'Authorization', value: 'Bearer {{_accessToken}}' });

现在很有魅力。