-
Notifications
You must be signed in to change notification settings - Fork 0
/
sf_oauth.py
29 lines (25 loc) · 1.37 KB
/
sf_oauth.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import json
from salesforce_client import salesforceAPIClient
import argparse
if __name__=="__main__":
# command line arguement determines which set of credentials will be used
parser = argparse.ArgumentParser()
parser.add_argument("instance", choices=['production', 'sandbox'], help="argument determines if data will be sent to sandbox or prod. Provide either <production> or <sandbox>")
args = parser.parse_args()
# get authorization token for request based on commandline argument
authorization = { "Authorization": "", "content-type": "application/json","Accept-Charset": "UTF-8"}
if args.instance == "production":
sfCredentials = json.load(open('Credentials/production-credentials.json'))
token_url = "https://login.salesforce.com/services/oauth2/token"
elif args.instance == "sandbox" :
sfCredentials = json.load(open('Credentials/sandbox-credentials.json'))
token_url = "https://test.salesforce.com/services/oauth2/token"
sfClient = salesforceAPIClient(
token_url = token_url,
client_id = sfCredentials["consumer key"],
client_secret = sfCredentials["consumer secret"],
refresh_token = sfCredentials["refresh token"]
)
# you how have an authed session with which you can query/update salesforce records
data = sfClient.get("SELECT ID FROM LEAD LIMIT 10")
print(data)