public IHttpActionResult Create(string code) { Session session = null; var client = new RestClient(Constants.Spotify.AccountsBaseApi); var request = new RestRequest("token", Method.POST); request.AddHeader("content-type", "application/x-www-form-urlencoded"); request.AddParameter("application/x-www-form-urlencoded", $"client_id={Constants.Spotify.ClientId}&client_secret={Constants.Spotify.ClientSecret}&grant_type={grantType}&code={code}&redirect_uri={Constants.Spotify.RedirectUri}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); if (response.IsSuccessful) { SpotifyTokenResponse responseBody = JsonConvert.DeserializeObject <SpotifyTokenResponse>(response.Content); if (responseBody.scope != null && responseBody.access_token != null) { SpotifyCredentials credentials = new SpotifyCredentials(responseBody.access_token, responseBody.refresh_token, new List <string>(responseBody.scope.Split(' '))); IPlayer player = new SpotifyPlayer(credentials); session = new Session(player); sessions.Add(session); } } return(session != null ? (IHttpActionResult)Ok(session) : NotFound()); }
public List <Disco> PesquisarDiscoSpotify(SpotifyCredentials spotifyCredentials) { var token = ClientCredentials.GetToken(new AuthParameters { ClientId = spotifyCredentials.ClientId, ClientSecret = spotifyCredentials.ClientSecret, Scopes = Scope.All, }); //adicionando discos do gênero Rock var discosRock = GetAlbums(token.AccessToken, "rock"); discosRock.Wait(); // adicionando discos do gênero MPB var discosMPB = GetAlbums(token.AccessToken, "mpb"); discosMPB.Wait(); // adicionando discos do gênero MPB var discosPOP = GetAlbums(token.AccessToken, "pop"); discosPOP.Wait(); // adicionando discos do gênero Clássico var discosClassico = GetAlbums(token.AccessToken, "classical"); discosClassico.Wait(); List <Disco> listaDiscos = new List <Disco>(); if (discosRock.Result != null && discosRock.Result.tracks != null) { listaDiscos.AddRange(RetornaDiscos(EnumGenero.Rock, discosRock.Result.tracks)); } if (discosMPB.Result != null && discosMPB.Result.tracks != null) { listaDiscos.AddRange(RetornaDiscos(EnumGenero.MPB, discosMPB.Result.tracks)); } if (discosPOP.Result != null && discosPOP.Result.tracks != null) { listaDiscos.AddRange(RetornaDiscos(EnumGenero.POP, discosPOP.Result.tracks)); } if (discosClassico.Result != null && discosClassico.Result.tracks != null) { listaDiscos.AddRange(RetornaDiscos(EnumGenero.Classic, discosClassico.Result.tracks)); } return(listaDiscos); }
/// <summary> /// Instantiates SpotifyWebAPI with a token /// </summary> /// <returns></returns> private static SpotifyWebAPI GetSpotifyWebAPIWithToken() { try { // Initialize Spotify WebAPI var creds = new SpotifyCredentials(); return(new SpotifyWebAPI() { AccessToken = creds.Token.AccessToken, TokenType = creds.Token.TokenType }); } catch (Exception Ex) { // Throw a new exception to bubble up throw new Exception("Exception Occurred: " + Ex.Message); } }
public AuthorizationApiGateway(IOptions <SpotifyCredentials> options, TokenHandler tokenHandler) { _tokenHandler = tokenHandler; _spotifyCredentials = options.Value; }