非Connected App场景下,如何获取/刷新Salesforce API的Bearer Token?
问题概述
调试时触发Salesforce返回401错误,相同代码在其他端点运行正常;此前连接无异常,推测为Token过期,但后端已实现Token自动获取/刷新逻辑。
需告知管理员执行的操作
- 验证并刷新现有令牌:
- 使用当前的Refresh Token调用Salesforce Token端点,尝试获取新Bearer Token:
POST /services/oauth2/token 请求参数: grant_type=refresh_token client_id=[你的客户端ID] client_secret=[你的客户端密钥] refresh_token=[当前持有的刷新令牌] - 若调用失败,确认Refresh Token是否已过期或被系统吊销。
- 使用当前的Refresh Token调用Salesforce Token端点,尝试获取新Bearer Token:
- 检查自动刷新相关配置权限:
- 确认Connected App的刷新令牌有效期设置,是否被修改为过短时长,或已禁用离线访问权限(即使当前场景非首次配置,权限变更可能影响令牌刷新)。
- 核查用于获取令牌的账号状态:确保账号未被锁定、关联的权限集未被调整,且具备目标Salesforce端点的访问权限。
- 重新生成令牌(若刷新失败):
- 通过授权码流程重新获取Access Token和Refresh Token:引导授权账号完成OAuth授权流程,拿到授权码后调用Token端点换取新令牌。
- 将新生成的Refresh Token更新至后端配置,确保自动刷新逻辑能正常调用。
- 排查自动刷新逻辑异常:
- 查看后端日志,确认自动刷新逻辑是否在Token过期前正常触发,是否存在请求失败的记录。
- 检查是否因Salesforce API调用次数超限、网络连通性问题,导致刷新请求未成功执行。
额外提示
若以上操作后问题仍存在,建议排查目标端点的单独权限配置,确认调用账号是否被允许访问该特定端点。
内容的提问来源于stack exchange,提问作者Anna L
相关产品推荐
相关产品推荐

