saleforce.com soap api的python客户端
beatboxxx的Python项目详细描述
简介
这是一个distutils打包和更新版本的beatbox模块 由simon fell编写,它是 Salesforce.com合作伙伴Web服务API。
此模块包含Salesforce.com客户端的两个版本:
- xmlclient
- 返回XmlTramp对象的客户机的原始Beatbox版本。
- pythonclient
- 将返回的对象封送到正确的python数据类型中。例如,整数字段返回整数。
兼容性
Beatbox支持Salesforce Partner Web的16.0到20.0版本 服务API。但是,以下api调用尚未在 这次:
- 转换导线
- 空霉素
- 失效会话
- 注销
- 合并
- 处理
- queryall
- 取消删除
- 描述对象
- 发送电子邮件
- 描述数据类别组
- 描述数据类别组结构
Beatbox已经用Python2.4和Python2.6进行了测试。
基本用法示例
实例化python salesforce.com客户端:
svc = beatbox.PythonClient() svc.login('username', 'passwordTOKEN')
(注意,通过api与salesforce.com交互需要使用 必须附加到密码的“安全令牌”。
查询姓氏为“doe”的联系人:
res = svc.query("SELECT Id, FirstName, LastName FROM Contact WHERE LastName='Doe'") res[0] # {'LastName': 'Doe', 'type': 'Contact', 'Id': '0037000000eRf6vAAC', 'FirstName': 'John'} res[0].Id # '0037000000eRf6vAAC'
添加新潜在客户并获取新创建潜在客户的ID:
contact = {'type': 'Lead', 'LastName': 'Glick', 'FirstName': 'David', 'Company': 'Individual'} res = svc.create(contact) res[0]['id'] # '00Q7000000RVyiHEAT'
更多示例
examples文件夹包含原始Beatbox的示例。为了 关于如何使用pythonclient的示例请参见 src/beatbox/tests/test_pythonclient.py。
其他一些在Beatbox上构建的产品也可以 提供使用示例:
备选方案
david lanstein创建了一个Python Salesforce Toolkit,它基于 sudssoap库。基于有限的测试,它看起来有点慢 比Beatbox更适合返回大量数据的操作;但是,它可能是 如果希望能够自动生成服务代理,则更好的选择 对于新的wsdl(例如对于企业web服务api)。
Salesforce.com的RonHess已经将Beatbox改为与谷歌应用程序一起使用 引擎。请参见http://code.google.com/p/force app engine/>;
运行测试
首先,我们需要向Salesforce实例中的Contacts对象添加一些自定义字段:
- 登录Salesforce.com实例
- 浏览到“设置”–>;“自定义”–>;“联系人”–>;“字段”–>;“新建”按钮
- 添加一个标签为“最喜爱的水果”的选择列表(多选),然后添加:苹果、桔子、梨
- 保留默认值3行,字段名应默认为“最喜爱的水果”
- 添加一个标有“Favorite Integer”的数字,18位,0位小数
- 添加一个标记为“Favorite Float”的数字,有13位,5位小数
使用以下格式在python路径中创建sfconfig文件:
USERNAME='your salesforce username' PASSWORD='your salesforce passwordTOKEN'
其中token是您的salesforce api登录令牌。 在pythonpath中添加“./src” 运行测试:
python src/beatbox/tests/test_beatbox.py python src/beatbox/tests/test_pythonClient.py