Completa los pasos descritos en el resto de esta página y, en unos cinco minutos, tendrás una aplicación de línea de comandos de Ruby simple que realiza solicitudes a la API de datos de YouTube.
El código de muestra que se usa en esta guía recupera el recursochannel
para el canal de YouTube de GoogleDevelopers y, además, imprime información básica desde ese recurso.
Requisitos previos
Para ejecutar esta guía de inicio rápido, necesitarás lo siguiente:
- Ruby 2.0 o superior
- Acceso a Internet y un navegador web
- Una Cuenta de Google.
Paso 1: Activa la API de datos de YouTube
-
Usa este asistente para crear o seleccionar un proyecto en Google Developers Console y activar la API automáticamente. Haz clic en Continuar y, luego, en Ir a Credenciales.
-
En la página Crear credenciales, haz clic en el botón Cancelar.
-
En la parte superior de la página, seleccione la pestaña OAuth consent screen. Selecciona una Dirección de correo electrónico, ingresa un Nombre del producto si aún no está configurado y haz clic en el botón Guardar.
-
Selecciona la pestaña Credenciales, haz clic en el botón Crear credenciales y selecciona ID de cliente de OAuth.
-
Selecciona el tipo de aplicación Otro, ingresa el nombre "Guía de inicio rápido de la API de datos de YouTube" y haz clic en el botón Crear.
-
Haz clic en Aceptar para descartar el cuadro de diálogo resultante.
-
Haz clic en el botón
(Descargar JSON) a la derecha del ID de cliente. -
Mueve el archivo descargado a tu directorio de trabajo y cámbiale el nombre a
client_secret.json
.
Paso 2: Instala la biblioteca cliente de Google
Ejecuta el siguiente comando para instalar la biblioteca:
gem install google-api-client
Consulta la página de instalación de la biblioteca para ver las opciones de instalación alternativas.
Paso 3: Configura la muestra
Crea un archivo llamado quickstart.rb
en tu directorio de trabajo y cópialo en el siguiente 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')
Paso 4: Ejecuta la muestra
Ejecuta la muestra con el siguiente comando:
ruby quickstart.rb
La primera vez que ejecutes la muestra, se te pedirá que autorices el acceso:
El ejemplo intenta abrir una ventana o pestaña nueva en el navegador predeterminado. Si esto no funciona, copia la URL de la consola y ábrela en tu navegador de forma manual.
Si aún no accediste a tu Cuenta de Google, se te solicitará que lo hagas. Si accediste a varias Cuentas de Google, se te pedirá que selecciones una para usar en la autorización.
- Haz clic en el botón Aceptar.
Copia el código que se te proporciona, pégalo en el símbolo de la línea de comandos y presiona Intro. El código puede aparecer en la URL de la página a la que se te redirecciona después de otorgar autorización:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Notas
- La información de autorización se almacena en el sistema de archivos, por lo que las ejecuciones posteriores no solicitarán autorización.
- El flujo de autorización de este ejemplo está diseñado para una aplicación de línea de comandos. Para obtener información sobre cómo realizar la autorización en una aplicación web, consulta Usa OAuth 2.0 para aplicaciones de servidor web.