Führen Sie die Schritte aus, die auf dieser Seite beschrieben werden. In etwa fünf Minuten haben Sie eine einfache Ruby-Befehlszeilenanwendung, die Anfragen an die YouTube Data API sendet.
Im Beispielcode in diesem Leitfaden wird diechannel
-Ressource für den YouTube-Kanal „GoogleDevelopers“ abgerufen und es werden einige grundlegende Informationen aus dieser Ressource ausgegeben.
Vorbereitung
Für diese Kurzanleitung benötigen Sie Folgendes:
- Ruby 2.0 oder höher.
- Zugriff auf das Internet und einen Webbrowser
- Ein Google-Konto.
Schritt 1: YouTube Data API aktivieren
-
Verwenden Sie diesen Assistenten, um ein Projekt in der Google Developers Console zu erstellen oder auszuwählen und die API automatisch zu aktivieren. Klicken Sie auf Weiter und dann auf Zu den Anmeldedaten.
-
Klicken Sie auf der Seite Anmeldedaten erstellen auf Abbrechen.
-
Klicken Sie oben auf der Seite auf den Tab OAuth-Zustimmungsbildschirm. Wählen Sie eine E-Mail-Adresse aus, geben Sie einen Produktnamen ein, falls noch nicht festgelegt, und klicken Sie auf die Schaltfläche Speichern.
-
Wählen Sie den Tab Anmeldedaten aus, klicken Sie auf die Schaltfläche Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.
-
Wählen Sie den Anwendungstyp Andere aus, geben Sie den Namen „YouTube Data API Quickstart“ ein und klicken Sie auf die Schaltfläche Erstellen.
-
Klicken Sie auf OK, um das resultierende Dialogfeld zu schließen.
-
Klicken Sie rechts neben der Client-ID auf die Schaltfläche
(JSON herunterladen). -
Verschieben Sie die heruntergeladene Datei in Ihr Arbeitsverzeichnis und benennen Sie sie in
client_secret.json
um.
Schritt 2: Google-Clientbibliothek installieren
Führen Sie den folgenden Befehl aus, um die Bibliothek zu installieren:
gem install google-api-client
Alternative Installationsoptionen finden Sie auf der Installationsseite der Bibliothek.
Schritt 3: Beispiel einrichten
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen quickstart.rb
und kopieren Sie den folgenden Code hinein:
# 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')
Schritt 4: Beispiel ausführen
Führen Sie das Beispiel mit dem folgenden Befehl aus:
ruby quickstart.rb
Wenn Sie das Beispiel zum ersten Mal ausführen, werden Sie aufgefordert, den Zugriff zu autorisieren:
Das Beispiel versucht, ein neues Fenster oder einen neuen Tab in Ihrem Standardbrowser zu öffnen. Wenn das nicht funktioniert, kopieren Sie die URL aus der Konsole und öffnen Sie sie manuell in Ihrem Browser.
Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, sich anzumelden. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie aufgefordert, ein Konto für die Autorisierung auszuwählen.
- Klicken Sie auf die Schaltfläche Akzeptieren.
Kopieren Sie den Code, fügen Sie ihn in die Eingabeaufforderung ein und drücken Sie die Eingabetaste. Der Code kann in der URL der Seite angezeigt werden, zu der Sie nach der Autorisierung weitergeleitet werden:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Hinweise
- Autorisierungsinformationen werden im Dateisystem gespeichert, sodass bei nachfolgenden Ausführungen keine Autorisierung erforderlich ist.
- Der Autorisierungsablauf in diesem Beispiel ist für eine Befehlszeilenanwendung konzipiert. Informationen zur Autorisierung in einer Webanwendung finden Sie unter OAuth 2.0 für Webserveranwendungen verwenden.