» Utilizando a API do YouTube para trazer vídeos de um canal
20/05/2016    C#.NET

Olá!
Em meu último artigo expliquei um pouco sobre as APIs do Google e suas credenciais.
Nesse artigo vou mostrar como você pode pegar os vídeos de um determinado canal e exibi-los em sua aplicação via API do YouTube.
Primeiro você tem que entender como funcionam as credenciais para acessar as APIs da Google, caso você não tenha esse conhecimento pare por aqui e acesse meu outro artigo que contém esse conteúdo antes de continuar: Entendendo as APIs da Google e suas Credenciais.


Configurando o Google Developers Console

O primeiro passo para começar a integrar sua aplicação com a API do YouTube é criar um projeto no seu Google Developers Console, você pode acessá-lo através do link: https://console.developers.google.com/?hl=pt-br

No meu caso, eu criei um projeto modelo com o nome de 'Projeto X'.

Após o projeto criado, acesse a lista de APIs desse projeto e escolha YouTube Data API e em seguida ative-a.

Depois disso vá até a área de credenciais e crie uma nova credencial. No nosso exemplo o que vamos fazer é trazer todos os vídeos de um canal do YouTube, como isso é uma informãção pública (qualquer um pode ir no site e acessar esses mesmos vídeos) assim como fazer uma busca por determinados vídeos, então criaremos uma chave com segurança simples, uma chave do tipo Chave de API.

Caso você queira que sua aplicação acesse dados particulares de um determinado usuário, precisará criar uma chave do tipo ID do cliente OAuth na qual será exibida uma tela de consentimento do usuário, porém o modo de trabalhar com essa chave é diferente da que abordarei nesse artigo, ou seja, a Chave de API

Abrirá uma caixa de opções para informar como será utilizada sua chave, em nosso exemplo iremos criar uma aplicação web com ASP.NET, logo, escolheremos o tipo Chave de Servidor.

Devemos então escolher um nome para a chave e caso você queira que somente alguns endereços de IP possam utilizá-la, você pode fixar quais são. Em nosso exemplo coloquei somente um nome e deixei livre os endereços de IP:

Agora que nossa chave está criada, o que tinhamos que fazer no Google Developers Console está feito.


Descobrindo o ID do meu canal no YouTube

Nesse caso, como vamos trazer todos os vídeos somente de um canal específico e não de uma busca, precisamos saber o ID do canal em questão.
Para saber o ID do seu canal, logue no YouTube e acesse o link https://www.youtube.com/account_advanced.
Nessa página você vai encontrar algumas informações mais avançadas do seu canal, precisaremos do ID do canal do YouTube.


Programando

Vamos agora para nossa aplicação.
Crie uma aplicação ASP.NET C#.
Abra o Package Manager Console e instale o pacote da API do YouTube digitando Install-Package Google.Apis.YouTube.v3.

Mais informações sobre esse pacote você encontra em: https://www.nuget.org/packages/Google.Apis.youtube.v3/

Na página que vai conter o código insira as seguintes referências:

            using Google.Apis.Services;
            using Google.Apis.YouTube.v3;
        

Vamos criar o objeto que irá realizar o serviço com a API.

        YouTubeService youtube = new YouTubeService(new BaseClientService.Initializer()
        {
            ApiKey = ">>sua chave de API<<"
        });
        

            // Requisição
            var listaRequest = youtube.Search.List("snippet");
            listaRequest.MaxResults = 7;
            listaRequest.ChannelId = ">>ID do canal<<";
        
Criamos a variável listaRequest que será responsável em fazer a requisição do conteúdo que queremos; É possível realizar várias configurações nessa variável, em nosso caso, vamos configurar o máximo de registros que queremos trazer (7) e o ID do canal que queremos.

            // Retorno da requisição
            var listaResult = listaRequest.Execute();
        
Criamos a variável listaResult que conterá o resultado da execução da variável criada anteriormente.

Agora só temos que trabalhar as informações para serem exibidas:
            string info = "";
            foreach (var item in listaResult.Items)
            {
                info = "

"; info += "
"; info += "ID: " + item.Id.VideoId + "
"; info += "Título: " + item.Snippet.Title + "
"; info += "Data: " + item.Snippet.PublishedAt + "
"; info += "Descrição: " + item.Snippet.Description + "
"; info += "Link: " + "https://www.youtube.com/watch?v=" + item.Id.VideoId; info += "

"; } Response.Write(info);
Há outras formas de se trabalhar essa informação e exibi-lá, porém como o objetivo desse artigo é mostrar como trazer esses dados do YouTube, tratei a exibição de forma bem simples e prática.

No caso desse exemplo, há somente um vídeo em meu canal e a exibição fica da seguinte forma:

E é isso!
Até + ;)




Comentários