Python Salesforce库获取Salesforce数据?

13

有没有任何库或包可以在Python中连接到Salesforce并获取数据?

5个回答

18

我使用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示例,请点击此处


嘿,Matto,我看到他们的下载,这只是为Windows吗?没有适用于Linux / Mac的软件包吗? - daydreamer
如果您已经安装了setuptools,您可以执行 easy_install beatbox 命令进行安装。否则,请从github https://github.com/superfell/Beatbox 下载该软件包,并运行 python setup.py install 命令进行安装。 - MattoTodd
我看到了这个 - beatbox.SoapFaultError: 'INVALID_LOGIN' 'INVALID_LOGIN:用户名、密码、安全令牌无效;或用户被锁定。' 虽然我使用的是正确的信息。 - daydreamer

8

还有一个名为simple_salesforce的软件包。

您可以使用以下命令进行安装:

$ pip install simple_salesforce

您可以通过以下方式访问Salesforce账户:

from simple_salesforce import Salesforce
sf = Salesforce(username='youremail@abc.com', password='password', security_token='token')

关于细节方面,自述文件是很有帮助的...


1

1

以下是可以让任何人开始使用的准备好的代码。用于从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)

0

虽然这不是特定于Python的。我发现了一个很酷的命令行工具。您可以将bash命令作为选项运行。

https://force-cli.heroku.com/

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接