In diesem Dokument wird beschrieben, wie Sie den Google Picker mithilfe der Google Picker API in Ihre Desktop- und mobilen Apps einbinden.
Mit der Google Picker API können Nutzer Google Drive-Dateien auswählen oder hochladen. Nutzer können Ihrer Desktop-, Mobil- oder Web-App die Berechtigung erteilen, auf ihre Drive-Daten zuzugreifen. So können Sie auf sichere und autorisierte Weise mit ihren Dateien interagieren.
Funktionen
Die Google-Auswahl bietet mehrere Funktionen:
- Die Benutzeroberfläche ähnelt der Google Drive-Benutzeroberfläche.
- Mehrere Ansichten mit Vorschauen und Miniaturansichten von Drive-Dateien.
- Vorab gefilterte Ansichten, in denen nur bestimmte Dateitypen (z. B. PDFs oder Bilder) oder bestimmte Ordner angezeigt werden.
- Eine Weiterleitung zur Google-Auswahl in einem neuen Tab im Standardbrowser des Nutzers.
Mit der Google-Auswahl können Sie zwar Dateien auswählen und hochladen, Nutzer können damit aber keine Dateien von einem Ordner in einen anderen verschieben oder kopieren. Zum Verwalten von Dateien müssen Sie entweder die Google Drive API oder die Drive-Benutzeroberfläche verwenden.
Vorbereitung
Für Apps, die Google Picker verwenden, gelten alle bestehenden Nutzungsbedingungen. Am wichtigsten ist, dass Sie sich in Ihren Anfragen korrekt identifizieren.
Außerdem benötigen Sie ein Google Cloud-Projekt.
Umgebung einrichten
Bevor Sie die Google Picker API verwenden können, müssen Sie Ihre Umgebung einrichten.
API aktivieren
Bevor Sie Google APIs verwenden können, müssen Sie sie in einem Google Cloud-Projekt aktivieren. Sie können eine oder mehrere APIs in einem einzelnen Google Cloud-Projekt aktivieren.Aktivieren Sie in der Google Cloud Console die Google Picker API.
Authentifizierung und Autorisierung einrichten
Für die Authentifizierung von Endnutzern und für den Zugriff auf Nutzerdaten in Ihrer Anwendung müssen Sie mindestens eine OAuth 2.0-Client-ID erstellen. Eine Client-ID wird zur Identifizierung einer einzelnen Anwendung bei den OAuth-Servern von Google verwendet. Wenn Ihre App auf mehreren Plattformen ausgeführt wird, müssen Sie für jede Plattform eine separate Client-ID erstellen.Anmeldedaten für eine Desktop-App autorisieren
So erstellen Sie eine OAuth 2.0-Client-ID:
- Rufen Sie in der Google API Console das Menü > Google Auth-Plattform > Clients auf.
- Klicken Sie auf Client erstellen.
- Klicken Sie auf Anwendungstyp > Desktop-App.
- Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google API Console angezeigt.
- Klicken Sie auf Erstellen.
Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.
Damit Apps die Autorisierung für Dateien erhalten, für die sie zuvor autorisiert wurden, müssen Sie die folgenden Schritte ausführen:
Sie müssen ein OAuth 2.0-Token mit dem Bereich
drive.file,driveoderdrive.readonlygemäß dieser Anleitung abrufen: Mit OAuth 2.0 auf Google APIs zugreifen. Weitere Informationen zu Bereichen finden Sie unter Bereiche für die Google Drive API auswählen.Übergeben Sie das OAuth 2.0-Token an die Drive API, um Dateien zu lesen und zu ändern, für die der Nutzer zuvor Zugriff gewährt hat.
Anmeldedaten für Ihre mobile App autorisieren
Folgen Sie der Anleitung unter Anmeldedaten für eine mobile App autorisieren, um eine OAuth 2.0-Client-ID zu erstellen.
Anmeldedaten für Ihre Web-App autorisieren
Folgen Sie der Anleitung unter Anmeldedaten für eine Webanwendung autorisieren, um eine OAuth 2.0-Client-ID zu erstellen.
Google Picker anzeigen
Die Google Picker API für Desktop- und mobile Apps leitet zu Google Picker in einem neuen Tab im Standardbrowser des Nutzers weiter. Sobald der Nutzer den Zugriff gewährt und die entsprechenden Dateien ausgewählt hat, wird der Google Picker über die Callback-URL zur aufrufenden App zurückgeleitet.
Wenn die Google Picker API auf einer Clientseite geöffnet werden soll, verwenden Sie stattdessen die Google Picker API für Web-Apps. Weitere Informationen finden Sie unter Google Picker in Webanwendungen einbinden.
So ermöglichen Sie Nutzern, Zugriff auf zusätzliche Dateien zu gewähren oder Dateien für die Verwendung in Ihrem App-Ablauf auszuwählen:
Fordern Sie Zugriff auf den Bereich
drive.filean, um die OAuth 2.0-Zugriffsseite in einem neuen Browsertab zu öffnen. Folgen Sie dazu dieser Anleitung: Mit OAuth 2.0 auf Google APIs zugreifen. Weitere Informationen zu Bereichen finden Sie unter Google Drive API-Bereiche auswählen.Für diese Apps ist nur der
drive.file-Bereich zulässig und er kann nicht mit anderen Bereichen kombiniert werden.Die URL für den neuen Browser-Tab akzeptiert alle Standard-OAuth-Abfragestringparameter.
Sie müssen die URL-Parameter
promptundtrigger_onepickan Ihre OAuth 2.0-Autorisierungs-URL-Anfrage anhängen. Optional können Sie den Google Picker auch mit mehreren anderen Parametern anpassen:Parameter Beschreibung Status prompt=consentAufforderung zum Dateizugriff Erforderlich trigger_onepick=trueAktivieren Sie die Google-Auswahl. Erforderlich allow_multiple=trueIst dieser Wert „true“, kann der Nutzer mehrere Dateien auswählen. Optional mimetypes=MIMETYPESEine durch Kommas getrennte Liste von MIME-Typen, mit denen die Suchergebnisse gefiltert werden sollen. Wenn nicht festgelegt, werden Dateien für alle MIME-Typen in der Ansicht angezeigt. Optional file_ids=FILE_IDSEine durch Kommas getrennte Liste von Datei-IDs, mit denen die Suchergebnisse gefiltert werden sollen. Wenn nicht festgelegt, werden alle Dateien in der Ansicht angezeigt. Optional allow_folder_selection=trueFalls „true“, kann der Nutzer auch Ordner auswählen. Optional Das folgende Beispiel zeigt eine Anfrage für eine OAuth 2.0-Autorisierungs-URL:
https://accounts.google.com/o/oauth2/v2/auth? \ client_id=CLIENT_ID \ &scope=https://www.googleapis.com/auth/drive.file \ &redirect_uri=REDIRECT_URI \ &response_type=code \ &access_type=offline \ &prompt=consent \ &trigger_onepick=trueErsetzen Sie Folgendes:
CLIENT_ID: Die Client-ID Ihrer App.REDIRECT_URI: Hier leitet der Autorisierungsserver den Browser des Nutzers nach erfolgreicher Authentifizierung weiter. Beispiel:https://www.cymbalgroup.com/oauth2callbackDie angegebene
redirect_urimuss eine öffentliche HTTPS-URL sein. Wenn Sie ein benutzerdefiniertes Protokoll oder eine Localhost-URL für Ihreredirect_uriverwenden möchten, müssen Sie eine öffentliche HTTPS-URL verwenden, die dann zum benutzerdefinierten Protokoll oder zur Localhost-URL weiterleitet.
Sobald der Nutzer den Zugriff gewährt und die entsprechenden Dateien ausgewählt hat, wird OAuth mit den folgenden angehängten URL-Parametern zu dem in der Anfrage angegebenen
redirect_uriweitergeleitet:picked_file_ids: Wenn der Nutzer Zugriff gewährt und Dateien ausgewählt hat, eine durch Kommas getrennte Liste der ausgewählten Datei-IDs.code: Das Zugriffstoken oder der Zugriffscode basierend auf dem im Antrag festgelegten Parameterresponse_type. Dieser Parameter enthält einen neuen Autorisierungscode.scope: Die in der Anfrage enthaltenen Bereiche.error: Wenn der Nutzer die Anfrage im Einwilligungsablauf abgebrochen hat, wird ein Fehler angezeigt.
Das folgende Beispiel zeigt eine Antwort auf eine OAuth 2.0-Autorisierungs-URL:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESApps müssen den Autorisierungscode aus Schritt 3 gegen ein neues OAuth 2.0-Token eintauschen. Weitere Informationen finden Sie unter Autorisierungscode gegen Aktualisierungs- und Zugriffstokens eintauschen.
Apps können dann die Datei-IDs aus dem URL-Parameter in Schritt 3 und das in Schritt 4 abgerufene OAuth 2.0-Token verwenden, um die Drive API aufzurufen. Weitere Informationen finden Sie unter Google Drive API – Übersicht.
Google Picker mit Android-Apps verwenden
Sie können den Google Picker auch in Ihren mobilen Android-Apps verwenden.
Anmeldedaten für eine mobile App autorisieren
Wenn Sie den Google Picker in Ihrer Android-App verwenden möchten, müssen Sie Nutzer mit OAuth 2.0 autorisieren, ähnlich wie bei Desktop-Apps. Weitere Informationen zur Android-Authentifizierung finden Sie unter Zugriff auf Google-Nutzerdaten autorisieren.
Wenn Sie die Google-Auswahl während der Autorisierung anzeigen möchten, erstellen Sie ein AuthorizationRequest und verwenden Sie den Ressourcenparameter PICKER_OAUTH_TRIGGER für das Objekt AuthorizationRequest.ResourceParameter.
Beim Erstellen des AuthorizationRequest:
Verwenden Sie den Bereich
drive.file.Rufen Sie
setOptOutIncludingGrantedScopesfürtrueauf, damit das zurückgegebene Token nur für den Bereichdrive.fileund nicht für zuvor gewährte Bereiche gilt.Setzen Sie das Feld
AuthorizationRequest.PromptaufCONSENT, um den Nutzer um Einwilligung zu bitten, auch wenn diese bereits erteilt wurde.Optional können Sie den Bitmap-Operator „OR“ (
|) verwenden, um das FeldAuthorizationRequest.PromptaufSELECT_ACCOUNTzu setzen. So kann der Nutzer ein Konto auswählen, bevor die Aufforderung zur Einwilligung angezeigt wird.
Google Picker aufrufen
Ähnlich wie bei Desktop-Apps können Sie die Google-Auswahl mit mehreren optionalen Parametern anpassen:
PICKER_ALLOW_MULTIPLE: Nutzer können mehrere Dateien auswählen.PICKER_MIMETYPES: Akzeptiert eine durch Kommas getrennte Liste von MIME-Typen, um die Suchergebnisse zu filtern. Wenn nicht festgelegt, werden Dateien für alle MIME-Typen in der Ansicht angezeigt.PICKER_FILE_IDS: Akzeptiert eine durch Kommas getrennte Liste von Datei-IDs, um die Suchergebnisse zu filtern. Wenn nicht festgelegt, werden alle Dateien in der Ansicht angezeigt.PICKER_ALLOW_FOLDER_SELECTION: Nutzer können auch Ordner auswählen.
Weitere Informationen zu den optionalen Parametern in Desktop-Apps finden Sie unter Google Picker anzeigen.
Sobald der Nutzer den Zugriff gewährt und die relevanten Dateien ausgewählt hat, wird das getTokenResponseParams-Objekt der AuthorizationResult-Ressource zurückgegeben. Wenn der Nutzer den Zugriff gewährt hat, enthält dieses Objekt den picked_file_ids-Wert, eine durch Kommas getrennte Liste der ausgewählten Datei-IDs.