Conclua as etapas descritas no restante desta página e, em cerca de cinco minutos, você terá um aplicativo simples de linha de comando Ruby que faz solicitações à API de dados do YouTube.
A amostra de código usada neste guia recupera o recursochannel
para o canal do Google Developers do YouTube e imprime algumas informações básicas desse recurso.
Pré-requisitos
Para executar este guia de início rápido, você precisará do seguinte:
- Ruby 2.0 ou mais recente
- Acesso à Internet e a um navegador da Web.
- uma Conta do Google.
Etapa 1: ativar a API YouTube Data
-
Use este assistente para criar ou selecionar um projeto no Google Developers Console e ativar a API automaticamente. Clique em Continuar e em Acessar credenciais.
-
Na página Criar credenciais, clique no botão Cancelar.
-
Na parte superior da página, selecione a guia OAuth consent screen. Selecione um Endereço de e-mail, insira um Nome de produto, se ainda não estiver definido, e clique no botão Salvar.
-
Selecione a guia Credenciais, clique no botão Criar credenciais e selecione ID do cliente OAuth.
-
Selecione o tipo de aplicativo Outro, insira o nome "Guia de início rápido da API YouTube Data" e clique no botão Criar.
-
Clique em OK para dispensar a caixa de diálogo exibida.
-
Clique no botão
(Fazer o download do JSON) à direita do ID do cliente. -
Mova o arquivo salvo para o diretório de trabalho e renomeie-o como
client_secret.json
.
Etapa 2: Instalar a biblioteca de cliente do Google
Execute este comando para instalar a biblioteca:
gem install google-api-client
Consulte a página de instalação da biblioteca para ver as opções de instalação alternativas.
Etapa 3: configurar o exemplo
Crie um arquivo chamado quickstart.rb
no diretório de trabalho e copie o seguinte código:
# Sample Ruby code for user authorization require 'rubygems' gem 'google-api-client', '>0.7' require 'google/apis' require 'google/apis/youtube_v3' require 'googleauth' require 'googleauth/stores/file_token_store' require 'fileutils' require 'json' # REPLACE WITH VALID REDIRECT_URI FOR YOUR CLIENT REDIRECT_URI = 'http://localhost' APPLICATION_NAME = 'YouTube Data API Ruby Tests' # REPLACE WITH NAME/LOCATION OF YOUR client_secrets.json FILE CLIENT_SECRETS_PATH = 'client_secret.json' # REPLACE FINAL ARGUMENT WITH FILE WHERE CREDENTIALS WILL BE STORED CREDENTIALS_PATH = File.join(Dir.home, '.credentials', "youtube-quickstart-ruby-credentials.yaml") # SCOPE FOR WHICH THIS SCRIPT REQUESTS AUTHORIZATION SCOPE = Google::Apis::YoutubeV3::AUTH_YOUTUBE_READONLY def authorize FileUtils.mkdir_p(File.dirname(CREDENTIALS_PATH)) client_id = Google::Auth::ClientId.from_file(CLIENT_SECRETS_PATH) token_store = Google::Auth::Stores::FileTokenStore.new(file: CREDENTIALS_PATH) authorizer = Google::Auth::UserAuthorizer.new( client_id, SCOPE, token_store) user_id = 'default' credentials = authorizer.get_credentials(user_id) if credentials.nil? url = authorizer.get_authorization_url(base_url: REDIRECT_URI) puts "Open the following URL in the browser and enter the " + "resulting code after authorization" puts url code = gets credentials = authorizer.get_and_store_credentials_from_code( user_id: user_id, code: code, base_url: REDIRECT_URI) end credentials end # Initialize the API service = Google::Apis::YoutubeV3::YouTubeService.new service.client_options.application_name = APPLICATION_NAME service.authorization = authorize # Sample ruby code for channels.list def channels_list_by_username(service, part, **params) response = service.list_channels(part, params).to_json item = JSON.parse(response).fetch("items")[0] puts ("This channel's ID is #{item.fetch("id")}. " + "Its title is '#{item.fetch("snippet").fetch("title")}', and it has " + "#{item.fetch("statistics").fetch("viewCount")} views.") end channels_list_by_username(service, 'snippet,contentDetails,statistics', for_username: 'GoogleDevelopers')
Etapa 4: executar a amostra
Execute o exemplo usando o seguinte comando:
ruby quickstart.rb
Na primeira vez que você executar o exemplo, ele vai solicitar a autorização de acesso:
O exemplo tenta abrir uma nova janela ou guia no navegador padrão. Se isso falhar, copie o URL do console e abra-o manualmente no navegador.
Se você ainda não estiver conectado à sua Conta do Google, será solicitado que faça login. Se você estiver conectado a várias Contas do Google, precisará escolher uma para usar na autorização.
- Clique no botão Aceitar.
Copie o código que você recebeu, cole-o no prompt de linha de comando e pressione Enter. O código pode aparecer no URL da página para a qual você foi redirecionado depois de conceder autorização:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Observações
- As informações de autorização são armazenadas no sistema de arquivos para que as execuções subsequentes não solicitem autorização.
- O fluxo de autorização neste exemplo é projetado para um aplicativo de linha de comando. Para informações sobre como executar a autorização em um aplicativo da Web, consulte Como usar o OAuth 2.0 para aplicativos de servidor da Web.