библиотека python salesforce для получения данных salesforce? - PullRequest
11 голосов
/ 21 сентября 2011

Есть ли библиотека или пакет, который мы можем использовать с python для подключения к salesforce и получения данных?

Ответы [ 5 ]

18 голосов
/ 21 сентября 2011

Я использую 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

Чтобы получить другие данные, посмотрите * api docs salesforce

посмотреть другие примеры битбокса здесь

7 голосов
/ 01 июня 2015

Существует также пакет под названием simple_salesforce .

. Вы можете установить его с помощью:

$ pip install simple_salesforce

. Вы можете получить доступ к своей учетной записи Salesforce с помощью следующего:

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

Readme полезен в отношении деталей ...

1 голос
/ 17 марта 2017

Вот готовый код для начала работы.Для получения отчетов из 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')

токен 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)
1 голос
/ 02 мая 2012

Это лучший в моем опыте: http://code.google.com/p/salesforce-python-toolkit/

0 голосов
/ 03 декабря 2015

Хотя это не специфично для 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...