使用访问令牌时会话已过期或无效

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

我创建了一个连接的应用程序,其中我通过新连接的应用程序中提供的消费者密钥和消费者秘密选择了 OAuth 范围“访问和管理您的数据 (api)”和“完全访问(完全)”,我已生成访问令牌。

但是,当我向在沙箱实例中创建的 RestResource 发送新的放置请求时,标头键为“Authorization”,值为“Bearer my_access_token”,我收到以下错误。

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

我发送请求的网址如下所示

https://my_instance_url/services/apexrest/CustomerAccountSync

我尝试通过在标头中添加“OAuth”而不是“Bearer”来更改发送访问令牌的方式。但我仍然收到相同的错误响应。

任何人都可以告诉我为什么会发生这种情况吗?我正在使用“Insomnia”进行 API 调用。

rest session salesforce access-token apex
3个回答
3
投票

您确定要发送到不同的端点吗?登录调用可能与通用

login.salesforce.com
test.salesforce.com
背道而驰。但是登录后的所有请求都需要使用响应中返回的
instance_url
,就像从现在开始必须使用
access_token
一样。

它将采用

https://mydomain.my.salesforce.com
格式,因此您需要
https://mydomain.my.salesforce.com.salesforce.com/services/data/v50.0/query?q=SELECT Id FROM Account

更多如何测试的信息:https://stackoverflow.com/a/63255845/313628

文档:https://developer.salesforce.com/docs/atlas.en-us.api_iot.meta/api_iot/qs_auth_access_token.htm(来自不同的REST API,但适用相同的想法)


0
投票

我在 Postman web 上遇到了同样的问题,并使用以下方式修复: enter image description here


0
投票

尝试再次保存命名凭据,然后再次激活会话希望它有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.