import requests import json # Generate access token: def get_token(): token_url = 'https://api.chartmetric.io/api/token' token_data = '{"refreshtoken":"Im3dJYpuzmZDPWEl8KS4Ss1PT5KmMHfqclf0bhgQnre3430iklkqXEqL3p6USGqC"}' token_headers = {'Content-Type': 'application/json'} token_response = requests.post(token_url, data=token_data, headers=token_headers) token = token_response.json().get("token") return token # Input a search query and get the id of the first artist search result: def get_artist_id(): search_query = 'Ana Tijoux' artist_search_url = 'https://api.chartmetric.io/api/search?q='+ search_query + '&limit=1' artist_search_headers = {'Authorization': 'Bearer ' + get_token()} artist_search_response = requests.get(artist_search_url, headers=artist_search_headers) artist_id = artist_search_response.json().get("obj").get("artists")[0]['id'] return artist_id # Get a list of all the Chartmetric track IDs for the artist returned in get_artist_id() def get_artist_tracks(): artist_track_url = 'https://api.chartmetric.io/api/artist/'+ str(get_artist_id()) + '/tracks' artist_track_headers = {'Authorization': 'Bearer ' + get_token()} artist_track_response = requests.get(artist_track_url, headers = artist_track_headers) artist_track_list = artist_track_response.json().get("obj") # import pprint # pprint.pprint(artist_track_list) track_id_list = [] for track in artist_track_list: t_id = track['id'] #print t_id if t_id != None: track_id_list.append(t_id) print str(len(track_id_list)) + " tracks for this artist." return track_id_list # Get Tunefind sync results for all track IDs generated in get_artist_tracks(). # Currently returning all 500s def get_artist_syncs(): track_id_list = get_artist_tracks() for track in track_id_list: track_sync_url = 'https://api.chartmetric.io/api/track/'+ str(track) + '/tunefind' track_sync_headers = {'Authorization': 'Bearer ' + get_token()} track_sync_response = requests.get(track_sync_url, headers = track_sync_headers) #print track_sync_response track_sync = track_sync_response print track_sync #get_artist_tracks() get_artist_syncs() #returns 500 errors for all track IDs