使用Simple-Salesforce通过Connected App连接Salesforce沙盒遇认证问题
使用simple-salesforce通过Connected App连接Salesforce沙盒的正确姿势
首先要明确:当使用Connected App进行认证时,需要采用OAuth 2.0密码认证流程(Password Flow),而非仅传入consumer_key和consumer_secret。simple-salesforce的Salesforce类支持该流程,但必须传入完整的必要参数。
正确代码示例
需要同时传入用户名、密码(密码+安全令牌拼接)、consumer_key、consumer_secret,并指定沙盒环境的domain为test:
sf = Salesforce( username='你的沙盒用户名', password='你的沙盒密码+安全令牌', # 注意:密码与安全令牌直接拼接,无空格分隔 consumer_key='Connected App的Consumer Key', consumer_secret='Connected App的Consumer Secret', domain='test' )
常见配置遗漏点
若仍报错,检查以下Connected App的后台设置:
- 确认已启用OAuth 2.0密码认证流程:在Salesforce后台的Connected App设置中,进入「OAuth 设置」,勾选「密码授予类型」。
- 检查IP范围限制:如果Connected App设置了IP白名单,需将运行代码的服务器IP添加到「受信任的IP范围」,或暂时关闭IP限制测试。
- 验证沙盒用户权限:用于认证的沙盒用户需具备访问该Connected App的权限,且用户状态正常(未锁定、密码未过期)。
错误参数组合的问题说明
你之前尝试的仅传consumer_key/consumer_secret、搭配organizationId等方式均不成立——Password Flow必须依赖用户名+密码(含安全令牌)完成身份验证,consumer_key和consumer_secret仅用于标识Connected App身份,无法单独作为认证凭据。
内容的提问来源于stack exchange,提问作者G-Man
相关产品推荐
相关产品推荐

