Completa i passaggi descritti nel resto di questa pagina e, in circa cinque minuti, avrai una semplice applicazione a riga di comando Ruby che invia richieste all'API YouTube Data.
Il codice campione utilizzato in questa guida recupera la risorsachannel
per il canale YouTube GoogleDevelopers e stampa alcune informazioni di base della risorsa.
Prerequisiti
Per eseguire questa guida rapida, devi disporre di:
- Ruby 2.0 o versioni successive.
- Accesso a Internet e a un browser web.
- Un Account Google.
Passaggio 1: attiva l'API YouTube Data
-
Utilizza questa procedura guidata per creare o selezionare un progetto in Google Developers Console e attivare automaticamente l'API. Fai clic su Continua e poi su Vai alle credenziali.
-
Nella pagina Crea credenziali, fai clic sul pulsante Annulla.
-
Nella parte superiore della pagina, seleziona la scheda Schermata consenso OAuth. Seleziona un Indirizzo email, inserisci un Nome prodotto se non è già impostato e fai clic sul pulsante Salva.
-
Seleziona la scheda Credenziali, fai clic sul pulsante Crea credenziali e seleziona ID client OAuth.
-
Seleziona il tipo di applicazione Altro, inserisci il nome "Guida rapida all'API di dati di YouTube" e fai clic sul pulsante Crea.
-
Fai clic su OK per ignorare la finestra di dialogo visualizzata.
-
Fai clic sul pulsante
(Scarica JSON) a destra dell'ID client. -
Sposta il file scaricato nella directory di lavoro e rinominalo
client_secret.json
.
Passaggio 2: installa la libreria client di Google
Esegui questo comando per installare la libreria:
gem install google-api-client
Consulta la pagina di installazione della libreria per le opzioni di installazione alternative.
Passaggio 3: configura l'esempio
Crea un file denominato quickstart.rb
nella directory di lavoro e copialo nel seguente codice:
# 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')
Passaggio 4: esegui l'esempio
Esegui l'esempio utilizzando il comando seguente:
ruby quickstart.rb
La prima volta che esegui l'esempio, ti verrà richiesto di autorizzare l'accesso:
L'esempio cerca di aprire una nuova finestra o scheda in un browser predefinito. Se il problema persiste, copia l'URL dalla console e aprilo manualmente nel browser.
Se non hai ancora eseguito l'accesso al tuo Account Google, ti verrà chiesto di farlo. Se hai eseguito l'accesso a più Account Google, ti verrà chiesto di selezionarne uno da utilizzare per l'autorizzazione.
- Fai clic sul pulsante Accetta.
Copia il codice che ti viene fornito, incollalo nel prompt della riga di comando e premi Invio. Il codice potrebbe essere visualizzato nell'URL della pagina a cui vieni reindirizzato dopo aver concesso l'autorizzazione:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Note
- Le informazioni di autorizzazione vengono archiviate nel file system, quindi le esecuzioni successive non richiederanno l'autorizzazione.
- Il flusso di autorizzazione in questo esempio è progettato per un'applicazione a riga di comando. Per informazioni su come eseguire l'autorizzazione in un'applicazione web, consulta la pagina relativa all'utilizzo di OAuth 2.0 per le applicazioni server web.