有没有任何库或包可以在Python中连接到Salesforce并获取数据?
有没有任何库或包可以在Python中连接到Salesforce并获取数据?
我使用beatbox
按电子邮件地址查询潜在客户的示例
import beatbox
sf_username = "Username"
sf_password = "password"
sf_api_token = "api token"
def get_lead_records_by_email(email)
sf_client = beatbox.PythonClient()
password = str("%s%s" % (sf_password, sf_api_token))
sf_client.login(sf_username, password)
lead_qry = "SELECT id, Email, FirstName, LastName, OwnerId FROM Lead WHERE Email = '%s'" % (email)
records = sf_client.query(lead_qry)
return records
若需获取其他数据,请参阅Salesforce API文档
查看其他Beatbox示例,请点击此处
还有一个名为simple_salesforce的软件包。
您可以使用以下命令进行安装:
$ pip install simple_salesforce
您可以通过以下方式访问Salesforce账户:
from simple_salesforce import Salesforce
sf = Salesforce(username='youremail@abc.com', password='password', security_token='token')
关于细节方面,自述文件是很有帮助的...
以下是可以让任何人开始使用的准备好的代码。用于从SFDC获取报告。
import pandas as pd
import numpy as np
from pandas import DataFrame, Series
from simple_salesforce import Salesforce #imported salesforce
sf = Salesforce(username='youremail@domain.com', password='enter_password', security_token = 'Salesforce_token')
import requests #imported requests
session = requests.Session() #starting sessions
from io import StringIO #to read web data
error_report_defined = session.get("https://na4.salesforce.com/xxxxxxxxxxxx?export=1&enc=UTF-8&xf=csv".format('xxxxxxxxxxxx'), headers=sf.headers, cookies={'sid': sf.session_id})
df_sfdc_error_report_defined = pd.DataFrame.from_csv(StringIO(error_report_defined.text))
df_sfdc_error_report_defined = df_sfdc_error_report_defined.to_csv('defined.csv', encoding = 'utf-8')
error_report = pd.read_csv('defined.csv') #your report is saved in csv format
print (error_report)
虽然这不是特定于Python的。我发现了一个很酷的命令行工具。您可以将bash命令作为选项运行。
Usage: force <command> [<args>]
Available commands:
login force login [-i=<instance>] [<-u=username> <-p=password>]
logout Log out from force.com
logins List force.com logins used
active Show or set the active force.com account
whoami Show information about the active account
describe Describe the object or list of available objects
sobject Manage standard & custom objects
bigobject Manage big objects
field Manage sobject fields
record Create, modify, or view records
bulk Load csv file use Bulk API
fetch Export specified artifact(s) to a local directory
import Import metadata from a local directory
export Export metadata to a local directory
query Execute a SOQL statement
apex Execute anonymous Apex code
trace Manage trace flags
log Fetch debug logs
eventlogfile List and fetch event log file
oauth Manage ConnectedApp credentials
test Run apex tests
security Displays the OLS and FLS for a give SObject
version Display current version
update Update to the latest version
push Deploy artifact from a local directory
aura force aura push -resourcepath=<filepath>
password See password status or reset password
notify Should notifications be used
limits Display current limits
help Show this help
datapipe Manage DataPipes
easy_install beatbox
命令进行安装。否则,请从github https://github.com/superfell/Beatbox 下载该软件包,并运行python setup.py install
命令进行安装。 - MattoTodd