Created
September 11, 2017 07:31
-
-
Save arikfr/69dbec1d6efbc9f48a680c9af47fe7a1 to your computer and use it in GitHub Desktop.
Redash API usage example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
class Redash(object): | |
def __init__(self, redash_url, api_key): | |
self.redash_url = redash_url | |
if not self.redash_url.endswith('/'): | |
self.redash_url = '{}/'.format(self.redash_url) | |
self.auth_headers = {'Authorization': 'Key {}'.format(api_key)} | |
def create_user(self, name, email): | |
data = { | |
'name': name, | |
'email': email | |
} | |
user = self._post_request('users', data) | |
return user | |
def add_user_to_group(self, user_id, group_id): | |
return self._post_request('groups/{}/members'.format(group_id), {'user_id': user_id}) | |
def get_alerts(self): | |
return self._get_request('alerts') | |
def _post_request(self, resource, data): | |
url = '{}api/{}'.format(self.redash_url, resource) | |
response = requests.post(url, json=data, headers=self.auth_headers) | |
response.raise_for_status() | |
return response.json() | |
def _get_request(self, resource): | |
url = '{}api/{}'.format(self.redash_url, resource) | |
response = requests.get(url, headers=self.auth_headers) | |
response.raise_for_status() | |
return response.json() | |
if __name__ == '__main__': | |
redash = Redash('https://app.redash.io/your-account-slug/', 'your-user-api-key') | |
group_id = 155 | |
user = redash.create_user('API Test User', '[email protected]') | |
user = redash.add_user_to_group(user['id'], group_id) | |
assert group_id in user['groups'] | |
for alert in redash.get_alerts(): | |
print "Name: {}".format(alert['name']) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Dear arikfr
How can i update Rstudio with Redash. to write Queries in RStudio and export results as CSV at Rstudio to avoid much work at Excel sheets.
Appreciate your support please :)