0

一年多以来,我一直使用该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 用户。结果:仍然是同样的错误,但现在我被锁定在 UI 之外。

有没有其他人遇到过类似的问题,请给我指出正确的资源?谢谢!

4

1 回答 1

0

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

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

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

Simple的文档还提到使用JWT登录(无论如何都需要连接的应用程序),基本上不是用户名+通过你去用户名+证书+事实管理员预先授权了这个用户......你会没事的,直到证书过期。

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

于 2022-02-08T22:33:24.687 回答