示例#1
0
        public static ApiRequestObject <T> GetNextPageContent <T>(string pageAddress)
        {
            CheckAuthValidity();
            Client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse($"{SpotifyToken.Instance.Type} {SpotifyToken.Instance.Token}");

            var response     = Client.GetAsync(new Uri(pageAddress)).Result;
            var returnObject = new ApiRequestObject <T>();

            if (returnObject.IsSuccess = response.StatusCode == HttpStatusCode.OK)
            {
                var responseContent = response.Content.ReadAsStringAsync().Result;
                returnObject.Content = JsonConvert.DeserializeObject <T>(responseContent);
            }
            return(returnObject);
        }
示例#2
0
        public Task <object> ExecuteRequest(ApiRequest request)
        {
            ApiRequestObject requestObject = new ApiRequestObject(request);

            object result = _app.Scripts.Execute(_path, GetScriptPath(request), "request", requestObject);

            if (Script.IsNullOrUndefined(result) == false)
            {
                Task <object> taskResult = result as Task <object>;
                if (taskResult != null)
                {
                    return(taskResult);
                }
            }

            return(Deferred.Create <object>(result).Task);
        }
示例#3
0
        public static ApiRequestObject <SpotifyPlaylistsResponse> GetPlaylists(string category)
        {
            string endpoint = $"/v1/browse/categories/{category}/playlists";

            CheckAuthValidity();
            Client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse($"{SpotifyToken.Instance.Type} {SpotifyToken.Instance.Token}");

            var response     = Client.GetAsync(endpoint).Result;
            var returnObject = new ApiRequestObject <SpotifyPlaylistsResponse>();

            if (returnObject.IsSuccess = response.StatusCode == HttpStatusCode.OK)
            {
                var responseContent = response.Content.ReadAsStringAsync().Result;
                returnObject.Content = JsonConvert.DeserializeObject <SpotifyPlaylistsResponse>(responseContent);
            }
            return(returnObject);
        }
示例#4
0
        public static ApiRequestObject <SpotifyTracksResponse> GetArtistTopTracks(string artistId)
        {
            string endpoint = $"/v1/artists/{artistId}/top-tracks?country=SE";

            CheckAuthValidity();
            Client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse($"{SpotifyToken.Instance.Type} {SpotifyToken.Instance.Token}");

            var response     = Client.GetAsync(endpoint).Result;
            var returnObject = new ApiRequestObject <SpotifyTracksResponse>();

            if (returnObject.IsSuccess = response.StatusCode == HttpStatusCode.OK)
            {
                var responseContent = response.Content.ReadAsStringAsync().Result;
                returnObject.Content = JsonConvert.DeserializeObject <SpotifyTracksResponse>(responseContent);
            }
            return(returnObject);
        }
示例#5
0
        public static ApiRequestObject <SpotifyTracksAnalysisResponse> GetTracksFeatures(List <string> trackIdsList)
        {
            string endpoint = $"/v1/audio-features?ids={string.Join(",", trackIdsList)}";

            CheckAuthValidity();
            Client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse($"{SpotifyToken.Instance.Type} {SpotifyToken.Instance.Token}");

            var response     = Client.GetAsync(endpoint).Result;
            var returnObject = new ApiRequestObject <SpotifyTracksAnalysisResponse>();

            if (returnObject.IsSuccess = response.StatusCode == HttpStatusCode.OK)
            {
                var responseContent = response.Content.ReadAsStringAsync().Result;
                returnObject.Content = JsonConvert.DeserializeObject <SpotifyTracksAnalysisResponse>(responseContent);
            }
            return(returnObject);
        }
示例#6
0
        public static ApiRequestObject <SpotifySeedRecommendResponse> GetSeedRecommendations(Dictionary <string, string> seedVariables)
        {
            string endpoint = $"/v1/recommendations?{string.Join("&", seedVariables.Select(i => $"{i.Key}={i.Value}"))}";

            CheckAuthValidity();
            Client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse($"{SpotifyToken.Instance.Type} {SpotifyToken.Instance.Token}");

            var result       = Client.GetAsync(endpoint).Result;
            var returnObject = new ApiRequestObject <SpotifySeedRecommendResponse>();

            if (returnObject.IsSuccess = result.StatusCode == HttpStatusCode.OK)
            {
                var responseContent = result.Content.ReadAsStringAsync().Result;
                returnObject.Content = JsonConvert.DeserializeObject <SpotifySeedRecommendResponse>(responseContent);
            }
            return(returnObject);
        }