2011-09-21 23 views

回答

15

我用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 docs

查看其他口技例子here

+0

嘿matto,我看到他们的下载,是否只为Windows?没有包的Linux/MAC? – daydreamer

+0

如果你安装了setuptools你可以做'easy_install beatbox',否则从github https://github.com/superfell/Beatbox下载包并运行'python setup.py install' – MattoTodd

+0

真棒,会试试 – daydreamer

7

还有一个包叫simple_salesforce

你可以安装它:

$ pip install simple_salesforce 

您可以获得访问您的Salesforce帐户如下:

from simple_salesforce import Salesforce 
sf = Salesforce(username='[email protected]', password='password', security_token='token') 

自述是关于细节有帮助...

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 
2

这里是准备代码,让任何人开始。用于从SFDC获取报告。

import pandas as pd 
import numpy as np 
from pandas import DataFrame, Series 
from simple_salesforce import Salesforce #imported salesforce 
sf = Salesforce(username='[email protected]', password='enter_password', security_token = 'Salesforce_token') 

每次更改密码时,都会收到电子邮件中的salesforce令牌。

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)