2024-04-26 07:07:08 发布
网友
使用python访问SF数据最简单的方法是什么?在
我需要它只读。在
我尝试过使用BeatBox,但它似乎与3.3不兼容。在
salesforceapi是使用W3C标准SOAP构建的,因此,您可以尝试将WSDL文件传送到通用SOAP库中,而不是专用的salesforce库。SUDS是一个成熟的、主动维护的库,我刚刚用它成功地完成了salesforce元数据api调用,看起来像
from suds.client import Client _SF_PRODUCT_VERSION = (0, 0, 0) USER_AGENT_STR = '/'.join(['Salesforce', _SF_PRODUCT_NAME, '.'.join(str(x) for x in _SF_PRODUCT_VERSION)]) def login(username, password, token): WSDL_URL = 'file://' + path.abspath(_ENTERPRISE_WSDL_FILE) suds_client = Client(WSDL_URL) suds_client.set_options(headers = { 'User-Agent': USER_AGENT_STR, }) login_result = suds_client.service.login(username, password+token) return login_result login_result = login(SF_USERNAME, SF_PASSWORD, SF_TOKEN) suds_client = Client(url=METADATA_WSDL_URL, location=login_result.metadataServerUrl) session_header = suds_client.factory.create('SessionHeader') session_header.sessionId = login_result['sessionId'] suds_client.set_options( headers = { 'User-Agent': USER_AGENT_STR, }, soapheaders = { 'SessionHeader': session_header, }) describe_metadata_result = suds_client.service.describeMetadata(29.0) print "describe metadata result" print describe_metadata_result
(为了保护无辜的人,一些名字被改了。)
因此,它并不像它可能的那么简单,但是只要在这个非常成熟的SOAP库上花费一点额外的时间,它可能会比一些专门的salesforce库更健壮。首先,添加
在api调用之前,当xml请求和响应通过网络发送时,它们将被打印出来,这非常有用。在
有一个专门的库,名为pythonsalesforce工具箱,它是基于sud构建的,但是它和它所基于的sud版本都不再被维护了。在
尝试两个库:
RestForce
simple-salesforce
salesforceapi是使用W3C标准SOAP构建的,因此,您可以尝试将WSDL文件传送到通用SOAP库中,而不是专用的salesforce库。SUDS是一个成熟的、主动维护的库,我刚刚用它成功地完成了salesforce元数据api调用,看起来像
(为了保护无辜的人,一些名字被改了。)
因此,它并不像它可能的那么简单,但是只要在这个非常成熟的SOAP库上花费一点额外的时间,它可能会比一些专门的salesforce库更健壮。首先,添加
^{pr2}$在api调用之前,当xml请求和响应通过网络发送时,它们将被打印出来,这非常有用。在
有一个专门的库,名为pythonsalesforce工具箱,它是基于sud构建的,但是它和它所基于的sud版本都不再被维护了。在
尝试两个库:
RestForce
simple-salesforce
相关问题 更多 >
编程相关推荐