Spotify Web API usando Postman

Fazendo requests para API do Spotify via Postman

Ketlin Pedron
7 min readSep 19, 2020

Este é o Segundo Post da série: Testes de Contrato utilizando Python

Photo by Morning Brew on Unsplash

Bom, se você chegou neste artigo é porque está pesquisando sobre python requests ou pesquisando sobre Web API do Spotify? Ou está procurando uma base de conhecimento para poder entender melhor sobre Testes de Contrato? Então, o objetivo desse artigo (e o próximo) é que você possa entender como utilizar python requests para realizar solicitações na Web API do Spotify, após estes artigos você poderá encontrar no último artigo da série, como criar Testes de Contrato utilizando python. Se você conseguir entender o contexto utilizando Spotify como exemplo, você poderá aplicar a estrutura que mostrarei para qualquer outra web API que deseje fazer este tipo de validação.

Por que esta série de artigos é diferente das outras?

Você pode estar se perguntando “ok, existem vários exemplos no Google sobre como utilizar web API e afins”. Eu não sei você, mas acontece muito comigo encontrar um tutorial sobre um assunto e, quando você vai tentar executá-lo, algo dá errado ou alguma informação estava faltando. Porém, neste artigo e nos demais vou apresentar o máximo de detalhes e também transmitir a informação da forma mais clara possível. Da hora, não?!

Importante: Se você quer ir direto ao assunto do Python Requests, clique aqui.

Ambiente necessário para este artigo

  • Postman Windows
  • Uma conta válida no Spotify, não precisa ser premium

Eu não irei aprofundar o assunto sobre estas instalações, pois se você está neste artigo, provavelmente já consegue desenrolar sozinho esta parte. Mas, se tiver problemas, me envie uma mensagem! 😄

1. Sobre web API do Spotify

Uma Web API (Apllication Programming Interface) é um conjunto de rotinas e padrões de uma aplicação web para que outras aplicações possam utilizar suas funcionalidades. Utilizando uma API, sua solução e serviços conseguem se comunicar com outras soluções e serviços, sem criar uma nova infraestrutura.

Segundo a Red Hat, as APIs podem ser particulares (somente para uso interno), de parceria (compartilhadas com parceiros específicos para gerar fluxos de receita adicionais) ou públicas (permitindo que terceiros desenvolvam aplicações que interagem com a API para incentivar a inovação). Compartilhar APIs pode trazer diversos benefícios.

Algumas aplicações como o Twitter e Spotify, mantém aberta as documentações e as APIs para que desenvolvedores do mundo inteiro possam utilizá-las em suas aplicações. Nesse artigo, iremos utilizar como exemplo a web API do Spotify, especificamente iremos trabalhar em cima das rotinas para manipulação de playlists e autenticação de usuário.

Você pode ler a documentação da web API do Spotify aqui.

1.1 Iniciando como developer no Spotify

Quando o usuário já possui uma conta, basta apenas habilitar esta conta para um profile developer, você irá fazer isso neste link (é necessário realizar o login e aceitar os termos de uso).

Depois, é necessário registrar uma aplicação que irá consumir a API. Procure por “Dashboard”, clique em “Create an App”, digite um nome e confirme. Ao final do processo, você terá uma tela parecida com esta:

Clique em Edit Settings. É necessário configuar um item importante - Uma Redirect URI. O Spotify irá utilizar para enviar o usuário de volta ao seu aplicativo (após ter sido autorizado). No meu caso utilizei uma URI do Postman.

Clique em Save e vamos para o próximo passo :)

2. Utilizando Postman

Vamos utilizar o Postman para acessar os endpoints de autenticação de usuário e manipulação de playlist.

2.1 Realizando autenticação — A parte mais importante!

Abra o Postman, crie uma nova collection com o nome que desejar. Após, crie uma nova request do tipo GET com o nome “Get new access token”. Você deverá ter uma tela parecida com essa:

Clique na aba Authorization e em type selecione OAuth 2.0. Em Access token, digite https://accounts.spotify.com/api/token e clique em Get New Access Token. Na janela que abrirá, você deverá inserir as seguintes informações:

  • Callback URL: É a URL que foi habilitada no item 1.1.
  • Client ID e Client Secret: São credenciais que você obteve ao realizar o item 1.1.
  • Scope: Sem configurar o scope não conseguimos realizar algumas operações que precisam de permissão. No nosso caso que iremos editar uma playlist, eu inseri o scope modify-private, modify-public e read-private. Você pode consultar as opções de scope aqui.

Ao confirmar clicando em Request token, uma nova janela irá aparecer e você deverá efetuar login com seu e-mail e senha do Spotify.

Se tudo deu certo, você receberá seu token de acesso. Copie o Access Token e deixe reservado. Vale ressaltar que ele vale por 1 hora, após esse tempo você deverá solicitar novamente.

2.2 Utilizando um endpoint para listar suas playlists

Configurando a autenticação: No Postman, adicione uma nova request na sua collection, com o nome “Playlist - Get all”. Após, vá na aba Authorization e selecione Bearer Token como o Type. No campo Token, cole o seu token que saiu do forno :)

Configurando os parâmetros (query): Clique na aba Params e insira o limite de playlists que você quer visualizar. Existem outros parâmetros, você pode consultar aqui.

Observe que no endpoint que quero acessar existe a string “kpedron”, esse é meu usuário no Spotify, você deverá inserir o seu ID para que funcione, blz? Se você não souber o seu, consulte acessando a sua conta.

Após as configurações, clique no lindo botão azul “Send”, você irá receber no response que solicitou:

Eu retirei uma parte da minha resposta. No pequeno trecho ao lado, percebemos que recebemos algumas informações interessantes, que podem ser usadas no futuro, como:

  • description: Descrição da playlist, se houver.
  • id: Identificador da playlist.
  • name: Nome da playlist.

2.3 Utilizando um endpoint para criar uma nova playlist

Aqui vem o pulo do gato 😻, como nós fizemos uma solicitação de token passando nosso scope, vamos conseguir realizar com sucesso edição e criação de playlists. Sem isso feito (item 2.1), você não consegue avançar nesta etapa.

Bom, basicamente a base dos passos é o mesmo do item anterior que realizamos, vamos apenas inserir poucas informações novas (a final, agora estaremos realizando uma escrita - Post). Crie uma nova request na sua collection, eu dei o nome “Playlist - Create”. A configuração da autenticação é a mesma do item 2.2.

Configurando o Body: Iremos enviar no body da request informações no formato json. Para realizar isso, clique na aba Body e selecione raw e o tipo JSON. Abaixo segue um exemplo:

Observe que o endpoint que eu quero acessar é o mesmo do item anterior, porém estamos utilizando o método POST (escrita). Eu apenas informei o nome, descrição e que a playlist é de acesso público, porém se você desejar inserir mais informações, você pode pesquisar aqui.

Novamente, clique no lindo botão azul “Send”, você irá receber uma response:

Perceba que o Spotify irá receber suas informações e irá retornar como ficou sua playlist. Observe que algumas configurações padrão foram adicionadas automaticamente pela API, exemplo: playlist colaborativa, seguidores, etc.

Se você realizar novamente um GET utilizando a request Playlist — Get all , criado anteriormente, ou visualizar a interface gráfica do Spotify, será possível visualizar a playlist que foi criada.

Próximo Passo

Certo, agora você sabe como manusear o básico da API do Spotify. Para que esse artigo não fique muito extenso, eu vou disponibilizar outros exemplos que eu fiz na minha collection do Postman, você pode baixar ela e executar localmente.

No próximo artigo teremos a parte 2, onde aplicaremos o que vimos aqui utilizando Python Requests. Te vejo lá :D

** Atualização ** Se você quiser utilizar a minha collections do Postman, consulte ela aqui.

--

--

Ketlin Pedron

Tendo experiência como developer e QA, tem a missão de contribuir nos times para que a Qualidade esteja presente, desde o início até a última entrega.