Salesforce API-此会话对于与REST API一起使用无效-会话ID无效



一年多来,我一直使用simple_salesforce包连接到Salesforce,以便从各种对象中提取一些数据并将其加载到数据湖中。

我使用了使用用户名/密码/安全令牌的身份验证方法。

client = Salesforce(
username="****************",
password="*************",
security_token="****************"
)

2月1日,多因素授权开始实施。从那天开始,我不断地犯同样的错误。[{'message': 'This session is not valid for use with the REST API', 'errorCode': 'INVALID_SESSION_ID'}]

经过一些研究,我尝试添加一个权限集,启用API,然后是API Only用户。结果:仍然是相同的错误,但现在我被锁定在UI之外。

有没有其他人遇到过类似的问题,可以向我介绍合适的资源?谢谢

根据https://help.salesforce.com/s/articleView?id=000352937&type=1(Ctrl+F"API"(,这可能是您的管理员做的其他事情。

用户名、密码+令牌听起来像是在使用SOAP登录方法。

看看你是否可以创建一个";连接的应用程序";在SF中使用OAuth2登录方法,对于REST API来说更自然。我写了一些关于它的https://stackoverflow.com/a/62694002/313628.在连接的应用程序中,您应该能够允许API访问,即使需要也可以完全访问。不知道Simple是否有自然的密钥位置,如果你必须自己处理原始http请求,那就有点垃圾了。

Simple的文档还提到使用JWT登录(无论如何都需要连接应用程序(,基本上不是用户名+通行证-用户名+证书+管理员预先授权该用户的事实。。。在证书到期之前,您将一直处于良好状态。

的文本部分https://gist.github.com/booleangate/30d345ecf0617db0ea19c54c7a44d06f可以帮助您创建连接的应用程序;如果使用Simple,则可能不需要示例代码

最新更新