Simple Salesforce Wrapper认证异常:sandbox参数传入矛盾问题求助
解决simple_salesforce_wrapper认证时sandbox参数的传入问题
这种参数传参的矛盾报错确实挺闹心——一会儿说不认识sandbox关键字参数,一会儿又提示缺少这个必填参数,问题大概率出在simple_salesforce_wrapper的Salesforce类构造函数对参数的定义逻辑上。
你可以试试以下两种解决方案:
方案1:按位置参数传入sandbox值
从报错信息推断,这个wrapper的构造函数把sandbox定义成了必填的位置参数,而非关键字参数。所以你需要把sandbox的布尔值按顺序放在参数列表的对应位置,不能用sandbox=True的关键字形式传参。示例代码如下:
from simple_salesforce_wrapper import Salesforce # 将sandbox的布尔值作为第四个位置参数传入 sf = Salesforce('email@address.com', 'mypassword', 'osdifhgsdjflkjsdfoj', True)
方案2:确认wrapper的参数定义细节
如果方案1还是不生效,建议直接确认这个wrapper的参数定义:
- 可以在代码里添加一行打印构造函数的文档注释,快速查看参数要求:
from simple_salesforce_wrapper import Salesforce print(Salesforce.__init__.__doc__) - 或者直接找到
Salesforce类的__init__方法源码,看它的参数列表具体定义——比如会不会参数名不是sandbox,而是is_sandbox这类变体?
这种情况通常是因为第三方wrapper没有完全沿用原simple_salesforce库的传参规则,所以不能直接照搬原库的写法。
内容的提问来源于stack exchange,提问作者Pavol Bujna
相关产品推荐
相关产品推荐

