Completa i passaggi descritti nel resto di questa pagina e in circa cinque minuti avrai un'applicazione da riga di comando Ruby semplice che effettua 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 da questa risorsa.
Prerequisiti
Per eseguire questa guida rapida, hai bisogno 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 nella console Google Developers e attivare automaticamente l'API. Fai clic su Continua, poi su Vai alle credenziali.
-
Nella pagina Crea credenziali, fai clic sul pulsante Annulla.
-
Nella parte superiore della pagina, seleziona la scheda Schermata per il consenso OAuth. Seleziona un indirizzo email, inserisci un nome del 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 YouTube Data" e fai clic sul pulsante Crea.
-
Fai clic su OK per chiudere la finestra di dialogo risultante.
-
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
Per le opzioni di installazione alternative, consulta la pagina di installazione della libreria.
Passaggio 3: configura l'esempio
Crea un file denominato quickstart.rb nella directory di lavoro e copia il 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 questo comando:
ruby quickstart.rb
La prima volta che esegui l'esempio, ti verrà chiesto di autorizzare l'accesso:
L'esempio tenta di aprire una nuova finestra o scheda nel browser predefinito. Se non riesci, 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 selezionare un account 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 da riga di comando. Per informazioni su come eseguire l'autorizzazione in un'applicazione web, consulta l'articolo sull'utilizzo di OAuth 2.0 per applicazioni server web.