91 lines
2.4 KiB
Python
91 lines
2.4 KiB
Python
import requests
|
|||
|
|
import json
|
||
|
|
from UrlHelper import *
|
||
|
|
|
||
|
|
class OnspringClient:
|
||
|
|
def __init__(self, url, key):
|
||
|
|
self.baseUrl = url
|
||
|
|
self.headers = {
|
||
|
|
'x-apikey': key,
|
||
|
|
'x-api-version': '2'
|
||
|
|
}
|
||
|
|
|
||
|
|
# verify connectivity
|
||
|
|
|
||
|
|
def canConnect(self):
|
||
|
|
|
||
|
|
endpoint = GetPingEndpoint(self.baseUrl)
|
||
|
|
|
||
|
|
response = requests.request('GET', endpoint, headers=self.headers)
|
||
|
|
|
||
|
|
return response.status_code == 200
|
||
|
|
|
||
|
|
# apps
|
||
|
|
|
||
|
|
def GetApps(self, pageNumber=1, pageSize=50):
|
||
|
|
|
||
|
|
endpoint = GetAppsEndpoint(self.baseUrl)
|
||
|
|
|
||
|
|
params={
|
||
|
|
'PageNumber': pageNumber,
|
||
|
|
'PageSize': pageSize
|
||
|
|
}
|
||
|
|
|
||
|
|
response = requests.request('GET', endpoint, headers=self.headers, params=params)
|
||
|
|
|
||
|
|
if(response.status_code == 400):
|
||
|
|
return {'Message': 'Invalid paging information.'}
|
||
|
|
|
||
|
|
if(response.status_code == 401):
|
||
|
|
return {'Message': 'Unauthorized request.'}
|
||
|
|
|
||
|
|
return response.json()
|
||
|
|
|
||
|
|
def GetAppById(self, appId):
|
||
|
|
|
||
|
|
endpoint = GetAppByIdEndpoint(self.baseUrl, appId)
|
||
|
|
|
||
|
|
response = requests.request('GET', endpoint, headers=self.headers)
|
||
|
|
|
||
|
|
if(response.status_code == 401):
|
||
|
|
return {'Message': 'Unauthorized request.'}
|
||
|
|
|
||
|
|
if(response.status_code == 403):
|
||
|
|
return {'Message': 'Client does not have read access to the app.'}
|
||
|
|
|
||
|
|
if(response.status_code == 404):
|
||
|
|
return {'Message': 'App could not be found.'}
|
||
|
|
|
||
|
|
return response.json()
|
||
|
|
|
||
|
|
def GetAppByIds(self, appIds):
|
||
|
|
|
||
|
|
endpoint = GetAppByIdsEndpoint(self.baseUrl)
|
||
|
|
|
||
|
|
self.headers["Content-Type"] = "application/json"
|
||
|
|
|
||
|
|
if(not isinstance(appIds, (list, tuple))):
|
||
|
|
return {'Message': 'App ids should be of type list or tuple.'}
|
||
|
|
|
||
|
|
data = json.dumps(appIds)
|
||
|
|
|
||
|
|
response = requests.request("POST", endpoint, headers=self.headers, data=data)
|
||
|
|
|
||
|
|
if(response.status_code == 401):
|
||
|
|
return {'Message': 'Unauthorized request.'}
|
||
|
|
|
||
|
|
if(response.status_code == 403):
|
||
|
|
return {'Message': 'Client does not have read access to the app.'}
|
||
|
|
|
||
|
|
return response.json()
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
url = 'https://api.onspring.com'
|
||
|
|
apiKey = '61642d8c686f9e8747e42af8/52cae9a9-4c49-48b6-a3fe-10a48d46ac69'
|
||
|
|
|
||
|
|
onspringClient = OnspringClient(url,apiKey)
|
||
|
|
|
||
|
|
data = (8,)
|
||
|
|
|
||
|
|
print(onspringClient.GetAppByIds(data))
|