Skip to content

Instantly share code, notes, and snippets.

@alexmill
Created January 14, 2016 01:55
Show Gist options
  • Save alexmill/332849ce25f665f3c534 to your computer and use it in GitHub Desktop.
Save alexmill/332849ce25f665f3c534 to your computer and use it in GitHub Desktop.
as_api_key = "###########################################################"
as_api_secret = "###########################################################"
params = {'grant_type':'client_credentials'}
unencoded_sig = "{}:{}".format(as_api_key, as_api_secret).encode('utf-8')
signature = b64encode(unencoded_sig).decode('utf-8')
headers = {'Authorization': "Basic {}".format(signature),
'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post('https://www.audiosear.ch/oauth/token', params=params, headers=headers)
result = response.json()
as_token = result.get('access_token', None)
if as_token == None:
raise Exception("Audiosear.ch auth request failed\nStatus Code {}:\n{}".format(response.status_code, response.text))
def as_api(endpoint, data=None, headers={
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer {}".format(as_token)
}):
if data==None:
req = requests.get("https://www.audiosear.ch/api" + endpoint,
headers=headers)
return(req)
elif type(data)==dict:
req = requests.post("https://www.audiosear.ch/api" + endpoint,
data=json.dumps(data),
headers=headers)
return(req)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment