APIs for Beginners - How to use an API (Full Course / Tutorial)
APIs e sua importância
Visão geral da seção: Nesta seção, o palestrante discute a importância das APIs em diferentes sistemas operacionais e navegadores. Ele também fala sobre como as bibliotecas e frameworks fornecem uma API para estender suas funcionalidades.
A importância das APIs
- As APIs permitem que os desenvolvedores escrevam um único script que funciona em diferentes sistemas operacionais e navegadores.
- As bibliotecas fornecem código para resolver problemas comuns, como converter uma imagem colorida em preto e branco.
- Os frameworks fornecem uma API para adicionar novas rotas ao aplicativo da web.
- As APIs abstraem grande parte do trabalho necessário para realizar tarefas específicas, permitindo que os desenvolvedores se concentrem no problema de negócio em questão.
APIs remotas
- As APIs remotas permitem controlar objetos à distância, como um controle remoto de TV ou um robô controlado por um aplicativo móvel.
- As APIs remotas também podem ser usadas para acessar dados que não caberiam no dispositivo local, como identificar uma música usando um trecho gravado pelo microfone do celular.
- As APIs remotas oferecem acesso a recursos computacionais ilimitados, permitindo que aplicativos realizem tarefas complexas sem sobrecarregar o dispositivo local.
Introdução à API RESTful
Visão geral da seção: Nesta seção, o instrutor introduz a estrutura JSON e explica como as APIs RESTful funcionam. Ele também discute os diferentes verbos HTTP usados em APIs RESTful.
Estrutura JSON
- JSON é uma maneira de estruturar e aninhar dados.
- Todas as linguagens de programação têm algum meio de transformar uma string JSON em um objeto nativo.
Verbos HTTP
- Existem vários verbos HTTP disponíveis para uso em APIs RESTful.
- Esses verbos são usados para indicar claramente a intenção da solicitação.
- Os verbos incluem GET, POST, PUT, DELETE e PATCH.
CRUD com métodos HTTP
- Os métodos HTTP podem ser usados para representar operações CRUD (criar, ler, atualizar e excluir).
- Por exemplo, adicionar um autor pode ser feito enviando dados para o endpoint /autores usando o verbo POST.
- Remover um autor pode ser feito enviando uma solicitação DELETE ao recurso do autor específico.
- As atualizações geralmente suportam o verbo PATCH.
Explorando a API RESTful do Spotify
Visão geral da seção: Nesta seção, o instrutor apresenta a API RESTful do Spotify como um exemplo de como usar APIs na prática.
Acessando a API do Spotify
- O site spotify.com tem uma seção dedicada aos desenvolvedores que permite explorar sua API.
- A documentação fornece exemplos de coisas que você pode fazer com a API, como obter informações sobre músicas e artistas.
- A API do Spotify retorna dados em formato JSON.
Autorização
- Para acessar recursos específicos, como listas de reprodução ou histórico de audição, é necessário autorização.
- Os usuários podem conceder acesso a aplicativos para acessar esses recursos em seu nome.
Conclusão
Visão geral da seção: Nesta seção final, o instrutor encoraja os alunos a explorar APIs RESTful por conta própria e oferece algumas sugestões sobre como começar.
Explorando APIs RESTful
- Existem muitas APIs disponíveis que permitem fazer coisas incríveis com apenas algumas chamadas simples.
- As APIs RESTful são padronizadas e funcionam de maneira semelhante, independentemente do serviço subjacente.
- Os desenvolvedores podem usar as APIs para criar mashups interessantes combinando diferentes serviços.
Recursos de API e Curl
Visão geral da seção: Nesta seção, o palestrante fala sobre como usar o Curl para explorar APIs. Ele usa o exemplo do Spotify para mostrar como fazer uma pesquisa de faixa usando a linha de comando.
Usando o Curl para explorar APIs
- O Curl é uma ferramenta útil para explorar APIs.
- O Spotify é um exemplo de API que usa o Curl em sua documentação.
- Ao fazer uma pesquisa com espaços, é necessário codificar a URL com sinais de adição (+).
- É possível abrir links diretamente na linha de comando usando o comando "open".
- Para encontrar a faixa correta, é importante verificar todos os resultados e rolar até o topo da página.
- O uso do Curl pode ser complicado quando há muitos dados retornados pela API.
Introdução ao Twilio
Visão geral da seção: Nesta seção, o palestrante apresenta a empresa Twilio e seus serviços baseados em APIs.
Sobre a Twilio
- A Twilio começou como um conjunto de APIs para abstrair canais de comunicação.
- A Twilio oferece uma ampla variedade de produtos que usam suas APIs.
- As APIs da Twilio permitem enviar mensagens SMS, fazer chamadas telefônicas e enviar mensagens por WhatsApp, entre outras coisas.
- É possível se inscrever para uma conta gratuita da Twilio sem a necessidade de um cartão de crédito.
Enviando mensagens SMS com o Twilio
- A Twilio permite enviar mensagens SMS com apenas um comando.
- As APIs da Twilio abstraem os detalhes técnicos dos diferentes canais de comunicação.
- Para se inscrever na conta gratuita da Twilio, é necessário fornecer informações pessoais e um endereço de e-mail válido.
Introdução
Visão geral da seção: Nesta seção, o apresentador introduz a ferramenta Postman e outras ferramentas semelhantes que podem ser usadas para explorar APIs.
Ferramentas para explorar APIs
- Postman é uma ferramenta poderosa com muitos recursos.
- Existem outras ferramentas semelhantes ao Postman, como o REST Fox.
- O REST Fox é uma ferramenta de código aberto que pode ser usada para explorar APIs.
Enviando mensagens SMS com Twilio
Visão geral da seção: Nesta seção, o apresentador mostra como enviar mensagens SMS usando a API do Twilio.
Configurando um novo pedido no REST Fox
- O apresentador cria uma nova pasta chamada "Twilio" no REST Fox.
- Em seguida, ele cria um novo pedido na pasta "Twilio".
Enviando uma mensagem SMS
- O apresentador mostra como enviar uma mensagem SMS usando a API do Twilio.
- Ele também explica como recuperar as mensagens recebidas.
Instalação do Thunder Client
Visão geral da seção: Nesta seção, o palestrante mostra como instalar e usar o Thunder Client, um cliente de API REST leve para VS Code.
Instalando o Thunder Client
- Para instalar o Thunder Client, pressione Command+Shift+P e digite "Install Extensions".
- Selecione a opção "Thunder" e clique em "Instalar".
- O Thunder Client será instalado na barra lateral do VS Code.
Usando o Thunder Client
- Crie uma nova coleção no Thunder Client.
- Adicione uma nova solicitação à coleção.
- Insira a URL da API que deseja explorar.
- Configure as credenciais de autenticação na coleção ou na solicitação.
- Envie a solicitação para ver os resultados.
Explorando a API Twilio com o Thunder Client
Visão geral da seção: Nesta seção, o palestrante usa o Twilio como exemplo para mostrar como explorar APIs usando o Thunder Client.
Obtendo informações sobre mídia enviada pelo Twilio
- Use as credenciais de autenticação fornecidas pela conta do Twilio para fazer uma solicitação GET à API de mensagens do Twilio usando o Thunder Client.
- Analise os resultados da solicitação para obter informações sobre a mídia enviada pelo Twilio.
Obtendo uma imagem enviada pelo Twilio
- Faça uma nova solicitação GET à API de mensagens do Twilio sem as credenciais de autenticação para obter a imagem enviada.
- Analise os resultados da solicitação para ver a imagem.
Entendendo Promises
Visão geral da seção: Nesta seção, o instrutor explica como as Promises funcionam no JavaScript e como elas são usadas para lidar com operações assíncronas.
Como as Promises funcionam
- Uma Promise é um objeto que representa uma operação assíncrona que ainda não foi concluída.
- As Promises têm três estados possíveis: pendente, resolvida ou rejeitada.
- Quando uma Promise é resolvida, ela retorna um valor. Quando é rejeitada, ela retorna um erro.
Usando Promises em JavaScript
- As Promises são usadas para lidar com operações assíncronas em JavaScript.
- Os métodos de lista do cliente Twilio são assíncronos, o que significa que eles retornam uma Promise em vez de um valor imediatamente.
- Para usar uma Promise em JavaScript, você pode chamar o método
.then()na Promise e passar uma função a ser executada quando a Promise for resolvida.
- Você também pode chamar o método
.catch()na Promise e passar uma função a ser executada quando a Promise for rejeitada.
Lidando com erros em Promises
- É importante lidar com erros ao trabalhar com Promises em JavaScript.
- Você pode usar o método
.catch()na Promise para capturar qualquer erro que ocorra durante a execução da operação assíncrona.
- Se você não lidar com os erros adequadamente, sua aplicação poderá falhar silenciosamente sem fornecer informações úteis sobre o problema.
Trabalhando com JSON e Arrays
Visão geral da seção: Nesta seção, o instrutor explica como trabalhar com JSON e Arrays em JavaScript.
Trabalhando com JSON
- JSON é uma forma de representar dados em JavaScript.
- Você pode usar o método
JSON.parse()para converter uma string JSON em um objeto JavaScript.
- Você pode usar o método
JSON.stringify()para converter um objeto JavaScript em uma string JSON.
Trabalhando com Arrays
- Um Array é uma coleção ordenada de valores em JavaScript.
- Você pode usar o método
.forEach()para iterar sobre os elementos de um Array e executar uma função para cada elemento.
- Cada elemento de um Array tem um índice associado a ele, começando do zero.
- Os Arrays podem conter qualquer tipo de valor, incluindo outros Arrays e objetos.
Exemplo prático: Obtendo mensagens do Twilio API
- O instrutor mostra como obter mensagens do Twilio API usando Promises, JSON e Arrays em JavaScript.
- Ele usa o método
client.messages.list()do cliente Twilio para obter as mensagens e, em seguida, usa a Promise retornada pelo método.then()para processar as mensagens recebidas.
- Ele usa o método
.forEach()para iterar sobre as mensagens recebidas e exibir informações relevantes sobre cada mensagem.
Identificando o erro
Visão geral da seção: Nesta seção, o palestrante identifica um erro e explica como corrigi-lo.
Identificando o erro
- O palestrante identifica o erro.
- Ele mostra como corrigir o erro usando Twilio para hospedar nosso código.
- Explica que isso é feito usando a solução serverless da Twilio.
- O palestrante faz upload do código para a plataforma Twilio.
Configurando Webhooks
Visão geral da seção: Nesta seção, o palestrante explica como configurar webhooks.
Configurando Webhooks
- O palestrante explica que precisamos lidar com a resposta programaticamente e usa webhooks para fazer isso.
- Ele mostra como configurar um número de telefone no painel do Twilio para usar um webhook específico.
Usando TwiML
Visão geral da seção: Nesta seção, o palestrante explica como usar TwiML.
Usando TwiML
- O palestrante explica que quando alguém envia uma mensagem de texto para nosso número do Twilio, ele envia uma solicitação para um endpoint.
- Ele explica que podemos configurar um novo servidor da web ou simplesmente usar uma função do Twilio que retorna TwiML.
Criando uma API com Twilio Functions
Visão geral da seção: Nesta seção, o palestrante demonstra como criar uma API usando o Twilio Functions.
Acessando a resposta da API
- O palestrante mostra a resposta padrão da API do Twilio.
- Ele explica como acessar as informações de cabeçalho na resposta da API.
- O palestrante discute como compartilhar a URL da API com outros membros da equipe para integrá-la ao aplicativo.
Usando mensagens de texto recebidas
- O palestrante começa a escrever código JavaScript para acessar as mensagens de texto recebidas.
- Ele incentiva os espectadores que não estão familiarizados com JavaScript a seguir conceitualmente e aproveitar o fato de estarem em um curso baseado em vídeo.
- O palestrante explica como obter acesso ao cliente REST do Twilio e autenticá-lo no objeto de contexto.
- Ele usa a API do Twilio para obter todas as mensagens enviadas para um número específico e armazena-as em uma variável.
- O palestrante percorre cada mensagem usando um loop for of.
Trabalhando com várias imagens em uma mensagem
- O palestrante menciona que é possível adicionar várias imagens a uma mensagem de texto antes de enviá-la.
Acessando recursos com Fetch
Overview da Seção: Nesta seção, o instrutor demonstra como acessar recursos usando a API Fetch.
Usando a API Fetch
- Criar um novo objeto de resposta e usar o método Fetch para aguardar uma resposta.
- O método Fetch é parte da Web API que os navegadores devem implementar para buscar dados de uma API.
- É possível usar um link relativo para acessar a API no mesmo servidor.
- O método JSON retorna a representação JSON do que foi retornado pela resposta.
Deploying e Visualizando a Aplicação
Overview da Seção: Nesta seção, o instrutor demonstra como implantar e visualizar a aplicação.
Implantando e Visualizando
- Salvar as alterações antes de implantá-las.
- Copiar o URL dos ativos e colá-lo na aplicação para buscar fotos na galeria.
- A aplicação agora pode buscar fotos em uma galeria usando apenas duas linhas de código.
Autenticação em APIs
Overview da Seção: Nesta seção, o instrutor discute autenticação em APIs.
Autenticação em APIs
- Não há autenticação nesta API específica.
- As chaves não devem ser passadas pelo cliente porque podem ser vistas por qualquer pessoa que visualize o código-fonte.
- É possível escrever um servidor que mantenha o controle das chaves e se conecte ao cliente.
Considerando a API RESTful
Overview da Seção: Nesta seção, o instrutor discute se a API é RESTful.
Considerando a API RESTful
- A arquitetura é cliente-servidor.
- A API é stateless.
- Não há informações de cacheabilidade no momento.
Sistema em Camadas
Visão Geral da Seção: Nesta seção, o palestrante discute a importância de um sistema em camadas.
Importância do Sistema em Camadas
- Um sistema em camadas é importante porque permite que diferentes partes do sistema sejam atualizadas ou substituídas independentemente umas das outras.
- Isso torna mais fácil manter e atualizar o sistema ao longo do tempo.
- Além disso, um sistema em camadas pode ajudar a melhorar a escalabilidade e a flexibilidade do sistema.
- Por fim, um sistema em camadas pode ajudar a melhorar a segurança do sistema, permitindo que diferentes partes tenham níveis diferentes de acesso.