Este tutorial ensinará como construir um conector para a API do Spotify que usa OAuth para autenticação usando o Okta Workflows Connector Builder.
- Conector para a API do Spotify
- Crie um conector para a API do Spotify
- Recursos
Conector para a API do Spotify
Você criará um conector para a API do Spotify porque ela usa OAuth para autenticação. Este tutorial ensinará você a criar um conector no Construtor de Conectores que usa OAuth para autenticação.
A autenticação OAuth é um tópico avançado. Se você é novo no Connector Builder, leia e conclua outros artigos e tutoriais desta série:
- Entendendo os Conectores do Okta Workflows.
- Okta Workflows Tutorial: Build a Connector for OpenWeather API.
Se você deseja chamar a API do Spotify usando o card API Connector, leia este artigo da KB:
Esta KB ensinará você a configurar a conexão OAuth e chamar a API do Spotify usando o cartão API Connector.
Crie um conector para a API do Spotify
Nesta seção, você criará um conector para o Spotify no Connector Builder.
O Connector Builder usa fluxos de Workflows e cards (ação, função) para construir um conector.
Um conector consiste em vários fluxos:
- Um flow para fazer requisições HTTP.
- Um fluxo para verificar se a autenticação no serviço está funcionando.
- Um ou mais fluxos de ação. Cada fluxo de ação chama o endpoint da API de um serviço.
- Fluxo de ação personalizada para permitir chamar qualquer endpoint de API no serviço (veja o tutorial Build a Connector for OpenWeather API).
Primeiro, você precisa de uma conta do Spotify antes de começar a construir o conector.
Configure uma conta e um aplicativo Spotify
Crie uma conta do Spotify
- Crie uma conta no Spotify, se você não tiver uma.
Criar um aplicativo
Após implementar um fluxo de autorização, o aplicativo fornecerá um token de acesso para fazer chamadas à API do Spotify.
- Para criar um aplicativo, vá para seu Painel, clique em Criar um aplicativo.
- Insira Workflows Connector Builder para Nome do aplicativo.
- Insira Workflows Connector Builder app para App description.
- Insira http://localhost:8080 para os URIs de Redirecionamento (Redirect URIs). Você mudará esse valor mais tarde.
- Verifique a Web API para Quais APIs/SDKs você está planejando usar?
- Marque a caixa de seleção Termos de Serviço do Desenvolvedor.
- Clique em Save para criar o aplicativo.
Aplicativo Spotify.
Criar um projeto de conector
Iniciar o Connector Builder
- Clique no menu ao lado do seu nome para iniciar o Connector Builder.
Inicie o Connector Builder.
Criar um projeto de conector
- Clique no ➕ no painel esquerdo para criar um projeto de conector.
- Insira Spotify para o Nome do conector.
- Insira Spotify connector para a Connector description.
- Clique em Save para criar o projeto.
Projeto do conector Spotify.
Fluxos de conector e autenticação
Fluxos de conector
O conector que você criará tem três fluxos:
- httpHelper: gerencia todas as solicitações de autenticação e HTTP para o conector.
- authPing: verifica a integridade da conexão.
- List User Albums: lista os álbuns atuais do Spotify dos usuários (documentos da API).
Autenticação
A autenticação é onde você define os parâmetros necessários para criar uma conexão segura com o serviço de API.
Quando um usuário final cria uma conexão com seu serviço, a caixa de diálogo New Connection coleta os detalhes de autenticação específicos.
Existem três tipos de autenticação:
- Basic: usa nome de usuário e senha.
- OAuth 2.0: concede acesso limitado a recursos a terceiros. Você pode usar os tipos de concessão Authorization Code ou Client Credential em um conector.
- Customizado: usa chave de API ou outro processo de autenticação.
Você configurará uma conexão OAuth para o Spotify.
Criar autenticação para a API do Spotify
Criar uma conexão OAuth
- Role para baixo e clique em Set up authentication na página Overview para criar uma conexão.
- Selecione Oauth 2.0 na lista Auth Type.
- Selecione Código de Autorização na Grant Type.
- Insira https://accounts.spotify.com para o URL Base.
- Insira /authorize para o Authorize Path.
- Insira /api/token para o Caminho do Token.
- Deixe o campo Refresh Token Path em branco.
Criando uma conexão.
Atualize o URI de redirecionamento no aplicativo Spotify
- Copie o link em Redirect URI. Este é o URL de callback.
- Retorne ao aplicativo Spotify que você criou anteriormente. Clique em Settings.
- Na parte inferior da página, clique em Edit.
- Na seção Redirect URIs, clique em Remove para excluir o URI atual.
- Cole o URI do Connector Builder e clique em Add.
- Clique em Save para salvar as alterações.
Configure o Client ID e o Client Secret
- Retorne ao Connector Builder.
- Mantenha Developer para a Propriedade do Cliente.
- Copie o Client ID do aplicativo Spotify e cole-o no campo Client ID na conexão.
- Copie o Client Secret do aplicativo Spotify (clique em View client secret) e cole-o no campo Client Secret na conexão.
Definir escopo
A API Get Current User’s Playlists requer o escopo playlist-read-private. Escopos definem os recursos aos quais o aplicativo tem acesso.
Criando uma nova conexão (continuação).
- Na seção Scopes, clique em Add Scope.
- Insira playlist-read-private para o Nome.
- O lado direito mostra a visualização da conexão. Clique em Salvar para criar a conexão.
Informações de conexão do Spotify.
Crie um fluxo para fazer solicitações HTTP
Você criará um flow chamado httpHelper.
O httpHelper é um fluxo de sistema que gerencia a autenticação e as solicitações HTTP para o conector. O fluxo httpHelper é um fluxo auxiliar; outros fluxos podem chamá-lo. O fluxo tem:
- Várias entradas.
- Cartões de função para construir consulta de solicitação, cabeçalho e informações do corpo.
- O card HTTP – Raw Request para fazer uma chamada para uma API.
- Várias saídas.
Criar um fluxo
- Abra a página Flows.
- Para criar um fluxo, clique em + Novo Fluxo.
- Clique em Unnamed no canto superior esquerdo para nomear o fluxo.
- Insira httpHelper para o Nome do fluxo.
- Insira Este fluxo gerencia todas as solicitações de autenticação e HTTP para o conector para a Description.
- Marque a opção Save all data that passes through the Flow? option.
- Para salvar o fluxo, clique em Save.
Configurar entradas de fluxo
- Clique em Adicionar evento e escolha Helper Flow.
- Adicione os seguintes campos no cartão Helper Flow:
- relative_url (tipo: Texto).
- request_method (Text).
- query (Object).
- headers (Objeto).
- body (Objeto).
O fluxo httpHelper com entradas
fluxo httpHelper.
Configure o URL da API
O conector pode suportar múltiplos endpoints do Spotify. O URL base permanece o mesmo, e o URL relativo mudará. Você precisa combinar os dois valores em um URL completo.
- Adicione o card Text – Concatenate após o card Helper Flow.
- Insira https://api.spotify.com o campo text 1.
- Conecte relative_url ao campo text 2.
- Renomeie o campo de saída do card.
- Para editar o cartão, clique em ⚙️ > Editar cartão (Edit card).
- Para renomear o campo de saída, clique em seu ícone ✏️ e defina o nome como full_url.
Configurando a URL.
Configure os cabeçalhos
Você precisa configurar dois parâmetros de cabeçalho:
- Content-Type: application/json.
- Authorization: Bearer access_token.
A conexão que você configurou irá adquirir o token de acesso. O campo Conexão lista o valor do Token de Acesso no primeiro card.
Para configurar o cabeçalho de Authorization:
- Adicione o card Text – Compose.
- Digite Bearer dentro do card.
- Conecte o Access Token após a string Bearer (adicione um espaço entre as strings).
- Renomeie o campo output do card Compose para bearer.
Para configurar o cabeçalho Content-Type:
- Adicione o cartão Objeto – Construir.
- Crie um campo Content-Type e, para o valor, insira application/json.
- Crie um campo Authorization e, para o valor, conecte o campo bearer do card Compose.
- Renomeie o campo de saída para headers_auth.
Voc\[ê precisa mesclar os cabe\[ç\[alhos Content-Type e Authorization com quaisquer cabe\[ç\[alhos que um usu\[á\[rio do Workflows possa fornecer.
- Adicione o cartão Object – Merge.
- Conecte o campo headers do primeiro card ao campo object 1.
- Conecte headers_auth do cartão Construct ao campo object 2.
- Renomeie o campo output para merged_headers.
httpHelper flow with headers cards.
Faça a chamada de API
- Adicione o card HTTP – Raw Request.
- Crie as seguintes conexões:
- full_url para o campo url no cartão Raw Request.
- request_method para o method no cartão Raw Request.
- merged_headers para o campo headers no cartão Raw Request.
- query do primeiro cartão ao campo query.
- body para o campo body.
Configurar saídas de flow
- Conecte os campos statusCode, headers e body do card HTTP – Raw Request ao card Flow Control – Return.
- Altere o tipo de campo body para Object.
Fluxo final de httpHelper:
fluxo httpHelper.
Teste o fluxo
- Clique em Run para testar o fluxo.
- Selecione New connection na lista Test Connection.
- Insira Spotify para o campo Name.
- Insira Conexão do Spotify para o campo Description.
- Clique em Create. Você verá um pop-up pedindo para você entrar no Spotify e permitir que o aplicativo que você criou (Workflows Connector Builder) acesse suas informações de playlist.
- Insira /v1/me/playlists para o campo relative_url.
- Insira GET para o campo request_method.
- Clique em Run para testar o fluxo.
Criar um fluxo para verificar uma conexão válida
Você criará um fluxo chamado _authPing. Um fluxo _authPing é um fluxo de sistema usado pela plataforma para chamar uma API e verificar se há autorização válida.
Esta ação funciona como uma verificação de validação e é executada quando você autentica o conector pela primeira vez, adiciona novos conectores ou abre fluxos.
Criar um fluxo
- Retorne à visualização do projeto do conector.
- Clique em + Novo Fluxo na página Fluxos.
- Clique em Add event e selecione o evento Authping.
- Para salvar o fluxo, clique em Unnamed no canto superior esquerdo.
- Insira _authping para o Name.
- Insira Connection health check para a descrição.
- Marque a opção Save all data that passes through the Flow? option.
- Clique em [Salvar].
Fluxo _authping.
Adicione cards de verificação de integridade da conexão
- Clique em Add function e selecione o card Error Handling – If Error.
- No bloco Try (selecionado automaticamente), clique em ➕, depois em function (ícone de calculadora) e selecione o card Flow Control – Call Flow.
- No card Chamar Fluxo, clique em Escolher Fluxo.
- Selecione o fluxo httpHelper e clique em Choose.
O fluxo se parece com isto:
Fluxo _authping com o card Call Flow.
Este fluxo chama o fluxo httpHelper para verificar se a conexão com o serviço está funcionando. Você deve usar um endpoint de API que exija autenticação.
Observação: A equipe do Okta Workflows recomenda uma solicitação com o menor tamanho de resposta. Por exemplo, algumas APIs têm um endpoint /me para obter informações sobre o usuário logado.
A API do Spotify tem um endpoint /me que voc\[ê pode usar neste fluxo.
Conclua a configuração do cartão Call Flow:
- Insira /v1/me para o relative_url.
- Insira GET para o request_method.
- Deixe os campos query, headers e body em branco.
- Conecte o campo Connection do primeiro cartão ao campo Connection no cartão Call Flow.
Chamando o endpoint /me.
Para criar saídas no card Call Flow:
- Clique dentro da área Click or drag to create e crie os seguintes campos de saída:
- statusCode (tipo Número).
- headers (Objeto).
- body (Objeto).
Cartão de Fluxo de Chamada com saídas.
Em seguida, você configurará uma mensagem quando a conexão estiver funcionando e uma mensagem quando a conexão não estiver funcionando.
Para configurar uma mensagem quando para conexão de trabalho:
- Clique no ➕ após o card Call Flow dentro do card If Error e selecione o card Flow Control – Assign.
- Adicione um campo message e defina-o para o valor The connection is successful no card Control – Assign .
Crie saídas para o cartão If Error:
- Clique em View Outputs no cartão If Error (canto superior direito). O cartão abre uma seção onde você define as saídas do cartão.
- Clique dentro da caixa de campo e crie duas saídas:
- statusCode.
- mensagem.
- Crie as seguintes conexões:
- statusCode do card Call Flow para o primeiro subcampo de statusCode.
- message do card Assign para o primeiro subcampo de message.
Os cartões se parecem com isto:
Configure uma mensagem quando a conexão estiver funcionando.
Para configurar uma mensagem quando a conexão não estiver funcionando:
- Usando a lista onde diz Try, mude para o bloco If Error no cartão If Error.
- Adicione dois campos ao objeto Error:
- statusCode (tipo Text).
- description (Texto).
- Clique em ➕ à direita do objeto Error dentro do bloco If Error e adicione o card Text – Concatenate.
- Crie as seguintes conexões:
- description do objeto Error para o campo text 1.
- Insira : (dois pontos) no campo texto 2.
- Clique para criar um terceiro campo e conecte message de Error a ele.
Em seguida, você conectará a mensagem à saída do card If Error.
- Clique em View Outputs no card If Error.
- Crie as seguintes conexões:
- statusCode de Error para o segundo subcampo de statusCode.
- saída de Concatenate para o segundo subcampo da mensagem.
Os cartões se parecem com isto:
Configure uma mensagem quando a conexão não estiver funcionando.
Configurar a saída do fluxo
O card Flow Control – Return Status tem dois campos: working e serviceResponse. Você usará as informações disponíveis neste fluxo para definir esses campos.
- Clique em ➕ após o cartão If Error e adicione o cartão True/False – Compare.
- Conecte statusCode da saída do card Se Erro para o campo valor a.
- Insira 200 para o campo value b.
- Renomeie o campo de saída result para working.
Configurando o código de status da conexão.
Se a chamada para a API for bem-sucedida (200), a conexão está funcionando.
- Clique em ➕ após o cartão Verdadeiro/Falso – Comparar e adicione o cartão Objeto – Construir.
- Crie dois campos no cartão Construct:
- statusCode (tipo Text).
- body (Texto).
- Crie as seguintes conexões:
- statusCode da saída do cartão If Error para o campo statusCode no cartão Construct.
- mensagem da saída do cartão Se Erro para o campo corpo no cartão Construir.
- Renomeie o campo output no cartão Construct para serviceResponse.
Configurando a resposta de status da conexão.
Para configurar as saídas de fluxo:
- Conecte o working do card Compare ao campo working no card Return Status.
- Conecte o serviceResponse do cartão Construct ao campo serviceResponse no cartão Return Status.
O fluxo completo:
O fluxo completo _auththing.
Teste o fluxo
- Salve o flow.
- Clique em Run.
- Selecione a conexão Spotify e clique em Run.
Criar uma ação para listar os álbuns do usuário
Nesta seção, você criará uma ação de conector para o endpoint Get Current User’s Playlists.
Criar um fluxo
- Volte para a visualização do projeto do conector.
- Clique em + New Flow para criar um novo fluxo.
- Clique em Unnamed no canto superior esquerdo para nomear o fluxo.
- Insira List Current User Albums para o Flow name.
- Insira List current user Spotify albums para a Description.
- Marque a opção Save all data that passes through the Flow? opção
- Clique em Save para salvar o fluxo.
Configurar o fluxo como uma ação
Um fluxo de ação faz uma chamada à API de serviço.
Para configurar este fluxo como um fluxo de ação:
- Clique em Add event e, em seguida, no tipo de evento Action.
O fluxo de ação não precisa de entradas, pois o endpoint Get Current User’s Playlists não tem entradas.
O fluxo se parece com isto:
List Current User Albums action.
Chamar a API do Spotify
Nesta etapa, você fará uma chamada para a API do Spotify.
- Adicione o cartão Controle de Fluxo – Chamar Fluxo.
- Clique em Choose Flow, selecione o fluxo httpHelper e clique em Choose.
- Insira /v1/me/playlists para o campo relative_url.
- Insira GET para o request_method.
- Conecte o campo Connection do primeiro cartão ao campo Connection no cartão Call Flow.
- Crie três saídas para o cartão Call Flow:
- statusCode (tipo Número).
- headers (Objeto).
- body (Objeto).
Cartão Call Flow.
Criar saídas de fluxo
Crie as seguintes saídas no card Flow Control – Return Outputs:
- Clique em Add Outputs.
- Abra Add group e selecione Add Static Group.
- Crie três saídas:
- Código de Status (digite Número).
- Headers (Object).
- Exclua a entrada de chave vazia.
- Body (Object).
- Exclua a entrada de chave vazia.
- Clique em Apply para salvar as saídas.
- Conecte os dados do cartão Call Flow ao cartão Return Outputs:
- statusCode para o campo Status Code.
- headers para o campo Headers.
- body para o campo Body.
O final do fluxo se parece com isto:
O fluxo de ação completo List Current User Albums.
Teste o fluxo
- Clique em Run para testar o fluxo.
- Selecione a conexão Spotify da lista Test Connection e clique em Run.
Implementar o conector
Ativar fluxos
Os fluxos precisam estar ativados antes de serem implementados.
- Retorne à página Fluxos.
- Ligue os três fluxos.
Atualizar as configurações do conector
Nesta seção, você deverá inserir informações adicionais nas configurações.
- Retorne à visualização principal do projeto.
- Abra a página Overview.
- Clique em Edit na seção Settings.
- Baixe e defina o ícone do Spotify para o conector.
- Altere a Cor de Destaque se desejar.
- Insira as informações de User Documentation URL e Support Contact Email.
- Clique em Save para salvar todas as alterações.
Configurações do conector.
Implementar o conector
Para implantar o conector:
- Mude para a guia Deployment.
- Clique em Create test version.
- Selecione as três reticências verticais em Actions para uma versão de teste que você criou e selecione Deploy Version.
Você verá o conector implantado na seção Private deployment.
Implantação do conector.
Você está pronto para usar o conector em um fluxo.
Usando o conector em um fluxo
Nesta etapa, você usará a ação do conector em um fluxo.
Conector do Spotify.
Adicionar o card
Ação do conector do Spotify.
- Crie um novo fluxo no Workflows.
- Clique em Add app action e selecione o conector Spotify. Você também pode pesquisá-lo.
- Selecione a ação Spotify – List Current User Albums.
Crie uma conexão
- Clique em + New Connection e siga as etapas para criar uma conexão para o Spotify.
Ação Spotify – Listar álbuns do usuário atual.
Teste
- Teste o cartão ou o fluxo.
Testando o fluxo.
Parabéns
Bom trabalho!
Você construiu um conector para o Spotify que alavanca o OAuth para autenticação.
Recursos
📚 Criando um Conector Personalizado no Okta Workflows, uma Série de Vídeos.
📖 Documentação do Okta Workflows Connector Builder.
🍫 Obtenha ajuda de especialistas em Workflows durante o horário de atendimento da comunidade semanal.
📺 Aprenda com os vídeos do Workflows.
🛟 Obtenha ajuda do suporte: discuta um tópico do Workflows ou faça uma pergunta.
🙋🏻♀️ Obtenha ajuda da comunidade: junte-se ao canal #okta-workflows no MacAdmins Slack.


























