In diesem Dokument wird beschrieben, wie Webserveranwendungen Google API-Clientbibliotheken oder Google OAuth 2.0-Endpunkte verwenden, um die OAuth 2.0-Autorisierung für den Zugriff auf die YouTube Data API zu implementieren.
OAuth 2.0 ermöglicht Nutzern, bestimmte Daten für eine Anwendung freizugeben, während ihre Nutzernamen, Passwörter und andere Informationen privat bleiben. Eine Anwendung kann beispielsweise OAuth 2.0 verwenden, um die Berechtigung zum Hochladen von Videos auf den YouTube-Kanal eines Nutzers zu erhalten.
Dieser OAuth 2.0-Vorgang ist speziell für die Nutzerautorisierung vorgesehen. Sie ist für Anwendungen konzipiert, die vertrauliche Informationen speichern und den Status beibehalten können. Eine ordnungsgemäß autorisierte Webserveranwendung kann auf eine API zugreifen, während der Nutzer mit der Anwendung interagiert oder nachdem er die Anwendung verlassen hat.
Webserveranwendungen verwenden häufig auch
Dienstkonten, um API-Anfragen zu autorisieren, insbesondere beim Aufrufen von Cloud APIs für den Zugriff auf projektbasierte Daten anstelle von nutzerspezifischen Daten. Webserveranwendungen können Dienstkonten in Verbindung mit der Nutzerautorisierung verwenden.
Die YouTube Data API unterstützt den Dienstkontoflow nur für YouTube-Rechteinhaber, die mehrere YouTube-Kanäle besitzen und verwalten.
Inhaltsinhaber können Dienstkonten verwenden, um API-Methoden aufzurufen, die den Anfrageparameter onBehalfOfContentOwner unterstützen.
Clientbibliotheken
In den sprachspezifischen Beispielen auf dieser Seite werden die Google API-Clientbibliotheken verwendet, um die OAuth 2.0-Autorisierung zu implementieren. Zum Ausführen der Codebeispiele müssen Sie zuerst die Clientbibliothek für Ihre Sprache installieren.
Wenn Sie eine Google API-Clientbibliothek verwenden, um den OAuth 2.0-Vorgang Ihrer Anwendung zu verarbeiten, führt die Clientbibliothek viele Aktionen aus, die die Anwendung ansonsten selbst ausführen müsste. So wird beispielsweise festgelegt, wann die Anwendung gespeicherte Zugriffstokens verwenden oder aktualisieren kann und wann die Anwendung die Einwilligung neu einholen muss. Die Clientbibliothek generiert auch korrekte Weiterleitungs-URLs und hilft bei der Implementierung von Weiterleitungs-Handlern, die Autorisierungscodes gegen Zugriffstokens tauschen.
Google API-Clientbibliotheken für serverseitige Anwendungen sind für die folgenden Sprachen verfügbar:
Vorbereitung
Die APIs für Ihr Projekt aktivieren
Für jede Anwendung, die Google-APIs aufruft, müssen diese APIs in der API Console aktiviert werden.
So aktivieren Sie eine API für Ihr Projekt:
- Öffnen Sie die API-Bibliothek in der Google API Console.
- Wählen Sie ein Projekt aus oder erstellen Sie ein neues, wenn Sie dazu aufgefordert werden.
- Auf der Seite Bibliothek können Sie die YouTube Data API suchen und aktivieren. Suchen Sie nach anderen APIs, die Ihre Anwendung verwenden wird, und aktivieren Sie diese ebenfalls.
Anmeldedaten für die Autorisierung erstellen
Für jede Anwendung, die OAuth 2.0 für den Zugriff auf Google APIs verwendet, müssen Autorisierungsanmeldedaten vorhanden sein, mit denen die Anwendung beim OAuth 2.0-Server von Google identifiziert wird. In den folgenden Schritten wird erläutert, wie Sie Anmeldedaten für Ihr Projekt erstellen. Ihre Anwendungen können dann mit den Anmeldedaten auf APIs zugreifen, die Sie für dieses Projekt aktiviert haben.
- Rufen Sie die Seite „Clients“ auf.
- Klicken Sie auf Client erstellen.
- Wählen Sie den Anwendungstyp Webanwendung aus.
- Füllen Sie das Formular aus und klicken Sie auf Erstellen. Für Anwendungen, die Sprachen und Frameworks wie PHP, Java, Python, Ruby und .NET verwenden, müssen autorisierte Weiterleitungs-URIs angegeben werden. Die Weiterleitungs-URIs sind die Endpunkte, an die der OAuth 2.0-Server Antworten senden kann. Diese Endpunkte müssen den Validierungsregeln von Google entsprechen.
Für Tests können Sie URIs angeben, die sich auf den lokalen Computer beziehen, z. B.
http://localhost:8080. In allen Beispielen in diesem Dokument wirdhttp://localhost:8080als Weiterleitungs-URI verwendet.Wir empfehlen, die Autorisierungs-Endpunkte Ihrer App so zu gestalten, dass Ihre Anwendung Autorisierungscodes nicht für andere Ressourcen auf der Seite verfügbar macht.
Laden Sie nach Erstellung Ihrer Anmeldedaten die Datei client_secret.json aus der API Console herunter. Speichern Sie die Datei an einem sicheren Speicherort, auf den nur Ihre Anwendung zugreifen kann.
Zugriffsbereiche ermitteln
Mithilfe von Bereichen wird ermöglicht, dass eine Anwendung nur für benötigte Ressourcen den Zugriff anfordern kann, während Nutzer wiederum steuern können, wie viel Zugriff sie der Anwendung gewähren. Daher kann es ein umgekehrtes Verhältnis zwischen der Anzahl der angeforderten Bereiche und der Wahrscheinlichkeit geben, dass die Nutzereinwilligung eingeholt wird.
Bevor Sie mit der Implementierung der OAuth 2.0-Autorisierung beginnen, empfehlen wir Ihnen, die Bereiche zu identifizieren, für die Ihre App eine Zugriffsberechtigung benötigt.
Wir empfehlen außerdem, dass Ihre Anwendung den Zugriff auf Autorisierungsbereiche über eine schrittweise Autorisierung anfordert, bei der Ihre Anwendung den Zugriff auf Nutzerdaten im Kontext anfordert. So können Nutzer leichter nachvollziehen, warum Ihre Anwendung den angeforderten Zugriff benötigt.
Die YouTube Data API v3 verwendet die folgenden Bereiche:
| Umfang | Beschreibung |
|---|---|
https://www. |
YouTube-Konto verwalten |
https://www. |
Hiermit wird eine Liste der aktuell aktiven Mitglieder des Kanals, ihre Stufe und das jeweilige Abonnementdatum abgerufen |
https://www. |
Ihre YouTube-Videos, -Bewertungen, -Kommentare und -Untertitel ansehen, bearbeiten oder dauerhaft löschen |
https://www. |
YouTube-Konto abrufen |
https://www. |
YouTube-Videos verwalten |
https://www. |
Ihre Inhalte und zugehörigen Content bei YouTube abrufen und verwalten |
https://www. |
Private Informationen aus dem YouTube-Kanal abrufen, die während des Prüfprozesses durch einen YouTube-Partner relevant sind |
Das Dokument OAuth 2.0-API-Bereiche enthält eine vollständige Liste der Bereiche, die Sie für den Zugriff auf Google-APIs verwenden können.
Sprachspezifische Anforderungen
Wenn Sie eines der Codebeispiele in diesem Dokument ausführen möchten, benötigen Sie ein Google-Konto, Internetzugang und einen Webbrowser. Wenn Sie eine der API-Clientbibliotheken verwenden, lesen Sie auch die sprachspezifischen Anforderungen in den folgenden Abschnitten.
PHP
Um die PHP-Codebeispiele in diesem Dokument auszuführen, benötigen Sie Folgendes:
- PHP 8.0 oder höher mit installierter Befehlszeilenschnittstelle (CLI) und JSON-Erweiterung.
- Das Tool zur Abhängigkeitsverwaltung Composer.
-
Die Google APIs-Clientbibliothek für PHP:
composer require google/apiclient:^2.15.0
Weitere Informationen finden Sie in der Google APIs-Clientbibliothek für PHP.
Python
Wenn Sie die Python-Codebeispiele in diesem Dokument ausführen möchten, benötigen Sie Folgendes:
- Python 3.7 oder höher
- Das Paketverwaltungstool pip.
- Die Google APIs-Clientbibliothek für Python 2.0 bietet folgende Vorteile:
pip install --upgrade google-api-python-client
- Die
google-auth,google-auth-oauthlibundgoogle-auth-httplib2für die Nutzerautorisierung.pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2
- Das Flask-Webanwendungs-Framework für Python.
pip install --upgrade flask
- Die
requests-HTTP-Bibliothek.pip install --upgrade requests
Sehen Sie sich die Versionshinweise zur Google API-Clientbibliothek für Python an, wenn Sie Python und den zugehörigen Migrationsleitfaden nicht aktualisieren können.
Ruby
Für die Ausführung der Ruby-Codebeispiele in diesem Dokument benötigen Sie Folgendes:
- Ruby 2.6 oder höher
-
Die Google Auth Library für Ruby:
gem install googleauth
-
Das Sinatra-Ruby-Webanwendungs-Framework.
gem install sinatra
Node.js
Wenn Sie die Node.js-Codebeispiele in diesem Dokument ausführen möchten, benötigen Sie Folgendes:
- Der Maintenance-LTS-, Active-LTS- oder aktuelle Release von Node.js.
-
Der Google APIs Node.js-Client:
npm install googleapis crypto express express-session
HTTP/REST
Sie müssen keine Bibliotheken installieren, um die OAuth 2.0-Endpunkte direkt aufrufen zu können.
OAuth 2.0-Zugriffstokens abrufen
In den folgenden Schritten wird beschrieben, wie Ihre Anwendung mit dem OAuth 2.0-Server von Google interagiert, um die Zustimmung eines Nutzers zum Ausführen einer API-Anfrage in seinem Namen einzuholen. Ihre Anwendung muss diese Einwilligung haben, bevor sie eine Google API-Anfrage ausführen kann, für die eine Nutzerautorisierung erforderlich ist.
In der folgenden Liste sind diese Schritte kurz zusammengefasst:
- Ihre Anwendung gibt die erforderlichen Berechtigungen an.
- Ihre Anwendung leitet den Nutzer zusammen mit der Liste der angeforderten Berechtigungen zu Google weiter.
- Der Nutzer entscheidet, ob er Ihrer Anwendung die Berechtigungen erteilt.
- Ihre Anwendung erfährt, wie sich der Nutzer entschieden hat.
- Wenn der Nutzer die angeforderten Berechtigungen gewährt hat, ruft Ihre Anwendung die erforderlichen Tokens ab, um API-Anfragen im Namen des Nutzers zu stellen.
Schritt 1: Autorisierungsparameter festlegen
Als Erstes müssen Sie die Autorisierungsanfrage erstellen. In dieser Anfrage werden Parameter festgelegt, die Ihre Anwendung identifizieren und die Berechtigungen definieren, die der Nutzer Ihrer Anwendung gewähren muss.
- Wenn Sie eine Google-Clientbibliothek für die OAuth 2.0-Authentifizierung und ‑Autorisierung verwenden, erstellen und konfigurieren Sie ein Objekt, das diese Parameter definiert.
- Wenn Sie den Google OAuth 2.0-Endpunkt direkt aufrufen, wird eine URL generiert und die Parameter für diese URL festgelegt.
Auf den folgenden Tabs werden die unterstützten Autorisierungsparameter für Webserveranwendungen definiert. In den sprachspezifischen Beispielen wird auch gezeigt, wie Sie eine Clientbibliothek oder Autorisierungsbibliothek verwenden, um ein Objekt zu konfigurieren, das diese Parameter festlegt:
PHP
Mit dem folgenden Code-Snippet wird ein Google\Client()-Objekt erstellt, das die Parameter in der Autorisierungsanfrage definiert.
Dieses Objekt verwendet Informationen aus der Datei client_secret.json, um Ihre Anwendung zu identifizieren. Weitere Informationen zu dieser Datei finden Sie unter Anmeldedaten für die Autorisierung erstellen. Das Objekt gibt auch die Bereiche an, für die Ihre Anwendung die Berechtigung zum Zugriff anfordert, sowie die URL des Authentifizierungsendpunkts Ihrer Anwendung, der die Antwort des OAuth 2.0-Servers von Google verarbeitet. Schließlich werden die optionalen Parameter access_type und include_granted_scopes festgelegt.
Mit diesem Code wird beispielsweise der Offlinezugriff zum Verwalten des YouTube-Kontos eines Nutzers angefordert:
use Google\Client; $client = new Client(); // Required, call the setAuthConfig function to load authorization credentials from // client_secret.json file. $client->setAuthConfig('client_secret.json'); // Required, to set the scope value, call the addScope function $client->addScope(GOOGLE_SERVICE_YOUTUBE::YOUTUBE_FORCE_SSL); // Required, call the setRedirectUri function to specify a valid redirect URI for the // provided client_id $client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php'); // Recommended, offline access will give you both an access and refresh token so that // your app can refresh the access token without user interaction. $client->setAccessType('offline'); // Recommended, call the setState function. Using a state value can increase your assurance that // an incoming connection is the result of an authentication request. $client->setState($sample_passthrough_value); // Optional, if your application knows which user is trying to authenticate, it can use this // parameter to provide a hint to the Google Authentication Server. $client->setLoginHint('hint@example.com'); // Optional, call the setPrompt function to set "consent" will prompt the user for consent $client->setPrompt('consent'); // Optional, call the setIncludeGrantedScopes function with true to enable incremental // authorization $client->setIncludeGrantedScopes(true);
Python
Im folgenden Code-Snippet wird das Modul google-auth-oauthlib.flow verwendet, um die Autorisierungsanfrage zu erstellen.
Der Code erstellt ein Flow-Objekt, das Ihre Anwendung anhand von Informationen aus der Datei client_secret.json identifiziert, die Sie nach dem Erstellen von Autorisierungsanmeldedaten heruntergeladen haben. Dieses Objekt gibt auch die Bereiche an, für die Ihre Anwendung die Berechtigung zum Zugriff anfordert, sowie die URL des Authentifizierungsendpunkts Ihrer Anwendung, der die Antwort des OAuth 2.0-Servers von Google verarbeitet. Schließlich werden die optionalen Parameter access_type und include_granted_scopes festgelegt.
Mit diesem Code wird beispielsweise der Offlinezugriff zum Verwalten des YouTube-Kontos eines Nutzers angefordert:
import google.oauth2.credentials import google_auth_oauthlib.flow # Required, call the from_client_secrets_file method to retrieve the client ID from a # client_secret.json file. The client ID (from that file) and access scopes are required. (You can # also use the from_client_config method, which passes the client configuration as it originally # appeared in a client secrets file but doesn't access the file itself.) flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file('client_secret.json', scopes=['https://www.googleapis.com/auth/youtube.force-ssl']) # Required, indicate where the API server will redirect the user after the user completes # the authorization flow. The redirect URI is required. The value must exactly # match one of the authorized redirect URIs for the OAuth 2.0 client, which you # configured in the API Console. If this value doesn't match an authorized URI, # you will get a 'redirect_uri_mismatch' error. flow.redirect_uri = 'https://www.example.com/oauth2callback' # Generate URL for request to Google's OAuth 2.0 server. # Use kwargs to set optional request parameters. authorization_url, state = flow.authorization_url( # Recommended, enable offline access so that you can refresh an access token without # re-prompting the user for permission. Recommended for web server apps. access_type='offline', # Optional, enable incremental authorization. Recommended as a best practice. include_granted_scopes='true', # Optional, if your application knows which user is trying to authenticate, it can use this # parameter to provide a hint to the Google Authentication Server. login_hint='hint@example.com', # Optional, set prompt to 'consent' will prompt the user for consent prompt='consent')
Ruby
Verwenden Sie die Datei „client_secrets.json“, die Sie erstellt haben, um ein Clientobjekt in Ihrer Anwendung zu konfigurieren. Wenn Sie ein Clientobjekt konfigurieren, geben Sie die Bereiche an, auf die Ihre Anwendung zugreifen muss, sowie die URL zum Authentifizierungsendpunkt Ihrer Anwendung, der die Antwort vom OAuth 2.0-Server verarbeitet.
Mit diesem Code wird beispielsweise der Offlinezugriff zum Verwalten des YouTube-Kontos eines Nutzers angefordert:
require 'googleauth' require 'googleauth/web_user_authorizer' require 'googleauth/stores/redis_token_store' require 'google/apis/youtube_v3' # Required, call the from_file method to retrieve the client ID from a # client_secret.json file. client_id = Google::Auth::ClientId.from_file('/path/to/client_secret.json') # Required, scope value scope = 'https://www.googleapis.com/auth/youtube.force-ssl' # Required, Authorizers require a storage instance to manage long term persistence of # access and refresh tokens. token_store = Google::Auth::Stores::RedisTokenStore.new(redis: Redis.new) # Required, indicate where the API server will redirect the user after the user completes # the authorization flow. The redirect URI is required. The value must exactly # match one of the authorized redirect URIs for the OAuth 2.0 client, which you # configured in the API Console. If this value doesn't match an authorized URI, # you will get a 'redirect_uri_mismatch' error. callback_uri = '/oauth2callback' # To use OAuth2 authentication, we need access to a CLIENT_ID, CLIENT_SECRET, AND REDIRECT_URI # from the client_secret.json file. To get these credentials for your application, visit # https://console.cloud.google.com/apis/credentials. authorizer = Google::Auth::WebUserAuthorizer.new(client_id, scope, token_store, callback_uri)
Ihre Anwendung verwendet das Client-Objekt, um OAuth 2.0-Vorgänge auszuführen, z. B. Autorisierungsanfrage-URLs zu generieren und Zugriffstokens auf HTTP-Anfragen anzuwenden.
Node.js
Mit dem folgenden Code-Snippet wird ein google.auth.OAuth2-Objekt erstellt, das die Parameter in der Autorisierungsanfrage definiert.
Dieses Objekt verwendet Informationen aus Ihrer Datei „client_secret.json“, um Ihre Anwendung zu identifizieren. Wenn Sie einen Nutzer um Berechtigungen bitten möchten, um ein Zugriffstoken abzurufen, leiten Sie ihn zu einer Einwilligungsseite weiter. So erstellen Sie eine URL für die Einwilligungsseite:
const {google} = require('googleapis'); const crypto = require('crypto'); const express = require('express'); const session = require('express-session'); /** * To use OAuth2 authentication, we need access to a CLIENT_ID, CLIENT_SECRET, AND REDIRECT_URI * from the client_secret.json file. To get these credentials for your application, visit * https://console.cloud.google.com/apis/credentials. */ const oauth2Client = new google.auth.OAuth2( YOUR_CLIENT_ID, YOUR_CLIENT_SECRET, YOUR_REDIRECT_URL ); // Access scopes for YouTube API const scopes = [ 'https://www.googleapis.com/auth/youtube.force-ssl' ]; // Generate a secure random state value. const state = crypto.randomBytes(32).toString('hex'); // Store state in the session req.session.state = state; // Generate a url that asks permissions for the Drive activity and Google Calendar scope const authorizationUrl = oauth2Client.generateAuthUrl({ // 'online' (default) or 'offline' (gets refresh_token) access_type: 'offline', /** Pass in the scopes array defined above. * Alternatively, if only one scope is needed, you can pass a scope URL as a string */ scope: scopes, // Enable incremental authorization. Recommended as a best practice. include_granted_scopes: true, // Include the state parameter to reduce the risk of CSRF attacks. state: state });
Wichtiger Hinweis: Der refresh_token wird nur bei der ersten Autorisierung zurückgegeben.
Weitere Informationen
HTTP/REST
Der OAuth 2.0-Endpunkt von Google ist https://accounts.google.com/o/oauth2/v2/auth. Dieser Endpunkt ist nur über HTTPS zugänglich. Reine HTTP-Verbindungen werden abgelehnt.
Der Google-Autorisierungsserver unterstützt die folgenden Abfragestringparameter für Webserveranwendungen:
| Parameter | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
client_id |
Erforderlich
Die Client-ID für Ihre Anwendung. Sie finden diesen Wert in der Cloud Console auf der Seite Clients. |
||||||||||||||||
redirect_uri |
Erforderlich
Bestimmt, wohin der API-Server den Nutzer weiterleitet, nachdem der Nutzer den Autorisierungsablauf abgeschlossen hat. Der Wert muss genau mit einem der autorisierten Weiterleitungs-URIs für den OAuth 2.0-Client übereinstimmen, den Sie auf der Seite „Clients“ Ihres Clients in der Cloud Console konfiguriert haben. Wenn dieser Wert nicht mit einem autorisierten Weiterleitungs-URI für die angegebene Das Schema |
||||||||||||||||
response_type |
Erforderlich
Gibt an, ob der Google OAuth 2.0-Endpunkt einen Autorisierungscode zurückgibt. Legen Sie den Parameterwert für Webserveranwendungen auf |
||||||||||||||||
scope |
Erforderlich
Eine durch Leerzeichen getrennte Liste von Bereichen, die die Ressourcen identifizieren, auf die Ihre Anwendung im Namen des Nutzers zugreifen kann. Diese Werte werden auf dem Zustimmungsbildschirm angezeigt, den Google dem Nutzer präsentiert. Mithilfe von Bereichen wird ermöglicht, dass eine Anwendung nur für benötigte Ressourcen den Zugriff anfordern kann, während Nutzer wiederum steuern können, wie viel Zugriff sie der Anwendung gewähren. Daher besteht ein umgekehrtes Verhältnis zwischen der Anzahl der angeforderten Bereiche und der Wahrscheinlichkeit, dass Nutzer ihre Einwilligung erteilen. Die YouTube Data API v3 verwendet die folgenden Bereiche:
Das Dokument OAuth 2.0-API-Bereiche enthält eine vollständige Liste der Bereiche, die Sie für den Zugriff auf Google-APIs verwenden können. Wir empfehlen, dass Ihre Anwendung nach Möglichkeit kontextbezogenen Zugriff auf Autorisierungsbereiche anfordert. Wenn Sie den Zugriff auf Nutzerdaten im Kontext anfordern, indem Sie die schrittweise Autorisierung verwenden, können Nutzer besser nachvollziehen, warum Ihre Anwendung den angeforderten Zugriff benötigt. |
||||||||||||||||
access_type |
Empfohlen
Gibt an, ob Ihre Anwendung Zugriffstokens aktualisieren kann, wenn der Nutzer nicht am Browser ist. Gültige Parameterwerte sind Legen Sie den Wert auf |
||||||||||||||||
state |
Empfohlen
Gibt einen beliebigen Stringwert an, den Ihre Anwendung verwendet, um den Status zwischen Ihrer Autorisierungsanfrage und der Antwort des Autorisierungsservers beizubehalten.
Der Server gibt den genauen Wert zurück, den Sie als Sie können diesen Parameter für verschiedene Zwecke verwenden, z. B. um den Nutzer zur richtigen Ressource in Ihrer Anwendung weiterzuleiten, Nonces zu senden und websiteübergreifende Anfragen zu verhindern. Da Ihr |
||||||||||||||||
include_granted_scopes |
Optional
Ermöglicht Anwendungen, die schrittweise Autorisierung zu verwenden, um im Kontext Zugriff auf zusätzliche Bereiche anzufordern. Wenn Sie den Wert dieses Parameters auf |
||||||||||||||||
enable_granular_consent |
Optional
Die Standardeinstellung ist Wenn Google detaillierte Berechtigungen für eine Anwendung aktiviert, hat dieser Parameter keine Auswirkungen mehr. |
||||||||||||||||
login_hint |
Optional
Wenn Ihre Anwendung weiß, welcher Nutzer sich authentifizieren möchte, kann sie diesen Parameter verwenden, um dem Google-Authentifizierungsserver einen Hinweis zu geben. Der Server verwendet den Hinweis, um den Anmeldevorgang zu vereinfachen, indem er entweder das E-Mail-Feld im Anmeldeformular vorab ausfüllt oder die entsprechende Sitzung für die Mehrfachanmeldung auswählt. Legen Sie den Parameterwert auf eine E-Mail-Adresse oder eine |
||||||||||||||||
prompt |
Optional
Eine durch Leerzeichen getrennte Liste von Aufforderungen, die dem Nutzer präsentiert werden sollen. Bei der Groß- und Kleinschreibung wird unterschieden. Wenn Sie diesen Parameter nicht angeben, wird der Nutzer nur beim ersten Zugriff auf Ihr Projekt aufgefordert, die Berechtigung zu erteilen. Weitere Informationen finden Sie unter Erneute Einwilligung einholen. Folgende Werte sind möglich:
|
||||||||||||||||
Schritt 2: Weiterleitung an den OAuth 2.0-Server von Google
Leiten Sie den Nutzer zum OAuth 2.0-Server von Google weiter, um den Authentifizierungs- und Autorisierungsprozess zu starten. Dies geschieht in der Regel, wenn Ihre Anwendung zum ersten Mal auf die Daten des Nutzers zugreifen muss. Bei der inkrementellen Autorisierung erfolgt dieser Schritt auch, wenn Ihre Anwendung zum ersten Mal auf zusätzliche Ressourcen zugreifen muss, für die sie keine Berechtigung hat.
PHP
- Generieren Sie eine URL, um Zugriff vom OAuth 2.0-Server von Google anzufordern:
$auth_url = $client->createAuthUrl(); - Verweise den Nutzer auf
$auth_url:header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
Python
In diesem Beispiel wird gezeigt, wie Sie den Nutzer mit dem Flask-Webanwendungs-Framework zur Autorisierungs-URL weiterleiten:
return flask.redirect