Completa los pasos que se describen en el resto de esta página y, en unos cinco minutos, tendrás una aplicación de línea de comandos simple de Ruby que realiza solicitudes a la API de YouTube Data.
El código de muestra que se usa en esta guía recupera el recursochannel para el canal de YouTube de GoogleDevelopers y muestra información básica de ese recurso.
Requisitos previos
Para ejecutar este inicio rápido, necesitarás lo siguiente:
- Ruby 2.0 o una versión posterior
- Acceso a Internet y un navegador web
- Una Cuenta de Google
Paso 1: Activa la API de YouTube Data
-
Usa este asistente para crear o seleccionar un proyecto en la Consola de Google Developers y activar automáticamente la API. Haz clic en Continuar y, luego, en Ir a las credenciales.
-
En la página Crear credenciales, haz clic en el botón Cancelar.
-
En la parte superior de la página, selecciona la pestaña Pantalla de consentimiento de OAuth. 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 "Inicio rápido de la API de YouTube Data" y haz clic en el botón Crear.
-
Haz clic en Aceptar para descartar el 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 cambia su 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 copia 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 solicitará que autorices el acceso:
La muestra intenta abrir una ventana o pestaña nueva en tu navegador predeterminado. Si falla, copia la URL de la consola y ábrela de forma manual en tu navegador.
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 cuenta 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 del sistema 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 la 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 en 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.