forked from IntuitDeveloper/SampleApp-QuickBooksV3API-Python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAPICallService.py
50 lines (40 loc) · 1.76 KB
/
APICallService.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import requests
from requests_oauthlib import OAuth1
import config
import json
def get_request(req_context, uri):
"""HTTP GET request for QBO API"""
headers = { 'Accept': "application/json",
'User-Agent': "PythonSampleApp1"
}
if config.ENVIRONMENT == "Sandbox":
base_url = "https://sandbox-quickbooks.api.intuit.com/v3/company/"
else:
base_url = "https://quickbooks.api.intuit.com/v3/company/"
url = base_url + req_context.realm_id + uri
print(url)
if config.AUTH_TYPE == "OAuth2":
headers['Authorization'] = "Bearer " + req_context.access_token
req = requests.get(url, headers=headers)
else:
auth = OAuth1(req_context.consumer_key, req_context.consumer_secret, req_context.access_key, req_context.access_secret)
req = requests.get(url, auth=auth, headers=headers)
return req
def post_request(req_context, uri, payload):
"""HTTP POST request for QBO API"""
headers = { 'Accept': "application/json",
'content-type': "application/json; charset=utf-8",
'User-Agent': "PythonSampleApp1"
}
if config.ENVIRONMENT == "Sandbox":
base_url = "https://sandbox-quickbooks.api.intuit.com/v3/company/"
else:
base_url = "https://quickbooks.api.intuit.com/v3/company/"
url = base_url + req_context.realm_id + uri
if config.AUTH_TYPE == "OAuth2":
headers['Authorization'] = "Bearer " + req_context.access_token
req = requests.post(url, headers=headers, data=json.dumps(payload))
else:
auth = OAuth1(req_context.consumer_key, req_context.consumer_secret, req_context.access_key, req_context.access_secret)
req = requests.post(url, auth=auth, headers=headers, data=json.dumps(payload))
return req