Google Picker in Desktop- und mobile Apps einbinden

In diesem Dokument wird erläutert, wie Sie die Google-Auswahl 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-, mobilen oder Webanwendung die Berechtigung erteilen, auf ihre Drive-Daten zuzugreifen. So können sie sicher und autorisiert mit ihren Dateien interagieren.

Funktionen

Die Google-Auswahl bietet mehrere Funktionen:

  • Ähnliches Erscheinungsbild wie die 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.
  • Weiterleitung zur Google-Auswahl auf einem neuen Tab im Standardbrowser des Nutzers. Wenn die Google Picker API auf einer Clientseite geöffnet werden soll, verwenden Sie stattdessen die Google Picker API für Webanwendungen.

Mit der Google-Auswahl können Sie zwar Dateien auswählen und hochladen, aber Nutzer können Dateien nicht 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 die Google-Auswahl verwenden, gelten alle bestehenden Nutzungs bedingungen. Vor allem müssen Sie sich in Ihren Anfragen korrekt identifizieren.

Sie benötigen außerdem 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.

    API aktivieren

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 Anwendung auf mehreren Plattformen ausgeführt wird, müssen Sie für jede Plattform eine separate Client-ID erstellen.

Anmeldedaten für eine Desktopanwendung autorisieren

So erstellen Sie eine OAuth 2.0-Client-ID:

  1. Rufen Sie in der Google API Console das Menü auf > Google-Authentifizierungsplattform > Clients.

    Zu „Clients“

  2. Klicken Sie auf Client erstellen.
  3. Klicken Sie auf Anwendungstyp > Desktopanwendung.
  4. Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google API Console angezeigt.
  5. Klicken Sie auf Erstellen.

    Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.

Damit Apps die Autorisierung für Dateien erhalten, die ihnen zuvor gewährt wurde, müssen Sie so vorgehen:

  1. Sie müssen ein OAuth 2.0-Token mit dem Bereich drive.file, drive oder drive.readonly gemäß dieser Anleitung abrufen: Mit OAuth 2.0 auf Google APIs zugreifen. Weitere Informationen zu Bereichen finden Sie unter Google Drive API Bereiche auswählen.

  2. Ü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 Webanwendung autorisieren

Folgen Sie der Anleitung unter Anmeldedaten autorisieren für eine Webanwendung, um eine OAuth 2.0-Client-ID zu erstellen.

Google-Auswahl anzeigen

Die Google Picker API für Desktop- und mobile Apps leitet auf einem neuen Tab im Standardbrowser des Nutzers zur Google-Auswahl weiter. Sobald der Nutzer Zugriff gewährt und die entsprechenden Dateien ausgewählt hat, kehrt die Google-Auswahl über die Callback-URL zur aufrufenden App zurück.

  • Authentifizierungsbildschirm der Google Picker-Benutzeroberfläche

    Authentifizieren Sie Ihre App, indem Sie die Google-Auswahl auslösen.

  • Dialogfeld für die Anmeldung über Google und Berechtigungen

    Melden Sie sich mit Google an und erteilen Sie die angeforderten Berechtigungen.

  • Google Drive-Dateiauswahl in der Auswahl

    Suchen Sie in der Google-Auswahl nach Ihren Google Drive-Dateien und wählen Sie das gewünschte Element aus.

  • Bestätigungsbildschirm für das Einfügen von Dateien mit der Schaltfläche „Einfügen“

    Bestätigen Sie Ihre Auswahl und tippen Sie auf „Einfügen“, um die Datei Ihrer App hinzuzufügen.

Google-Auswahl in Ihre App einbinden

So können Nutzer Zugriff auf zusätzliche Dateien gewähren oder Dateien für die Verwendung in Ihrem App-Ablauf auswählen:

  1. Fordern Sie Zugriff auf den Bereich drive.file an, um die OAuth 2.0-Zugriffsseite auf 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 Bereich drive.file zulässig und er kann nicht mit einem anderen Bereich kombiniert werden.

  2. Die URL für den neuen Browsertab akzeptiert alle Standard-OAuth-Abfragestring parameter.

    Sie müssen die URL-Parameter prompt und trigger_onepick an Ihre OAuth 2.0-Autorisierungs-URL-Anfrage anhängen. Optional können Sie die Google-Auswahl auch mit mehreren anderen Parametern anpassen:

    Parameter Beschreibung Status
    prompt=consent Aufforderung zum Zugriff auf Dateien. Erforderlich
    trigger_onepick=true Google-Auswahl aktivieren. Erforderlich
    allow_multiple=true Wenn „true“, kann der Nutzer mehrere Dateien auswählen. Optional
    mimetypes=MIMETYPES Eine durch Kommas getrennte Liste von MIME-Typen, um die Suchergebnisse zu filtern. Wenn nicht festgelegt, werden in der Ansicht Dateien für alle MIME-Typen angezeigt. Optional
    file_ids=FILE_IDS Eine durch Kommas getrennte Liste von Datei-IDs, um die Suchergebnisse zu filtern. Wenn nicht festgelegt, werden in der Ansicht alle Dateien angezeigt. Optional
    allow_folder_selection=true Wenn „true“, kann der Nutzer auch Ordner auswählen. Optional

    Das folgende Beispiel zeigt eine OAuth 2.0-Autorisierungs-URL-Anfrage:

    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=true
    

    Ersetzen Sie Folgendes:

    • CLIENT_ID: Die Client-ID Ihrer App.

    • REDIRECT_URI: Die URL, zu der der Autorisierungsserver den Browser des Nutzers nach erfolgreicher Authentifizierung weiterleitet. Beispiel: https://www.cymbalgroup.com/oauth2callback.

      Die angegebene redirect_uri muss eine öffentliche HTTPS-URL sein. Wenn Sie ein benutzerdefiniertes Protokoll oder eine Localhost-URL für Ihre redirect_uri verwenden möchten, müssen Sie eine öffentliche HTTPS-URL verwenden, die dann zum benutzerdefinierten Protokoll oder zur Localhost-URL weiterleitet.

  3. Sobald der Nutzer Zugriff gewährt und die entsprechenden Dateien ausgewählt hat, leitet OAuth zu der in der Anfrage angegebenen redirect_uri weiter. Die folgenden URL-Parameter werden angehängt:

    • 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 in der Anfrage festgelegten response_type Parameter. Dieser Parameter enthält einen neuen Autorisierungscode.

    • scope: Die in der Anfrage enthaltenen Bereiche.

    • error: Wenn der Nutzer die Anfrage im Rahmen des Einwilligungsablaufs abgebrochen hat, wird ein Fehler angezeigt.

    Das folgende Beispiel zeigt eine OAuth 2.0-Autorisierungs-URL-Antwort:

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. Apps müssen den Autorisierungscode aus Schritt 3 gegen ein neues OAuth 2.0-Token austauschen. Weitere Informationen finden Sie unter Autorisierungscode gegen Aktualisierungs- und Zugriffstokens austauschen.

  5. 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-Auswahl mit Android-Apps verwenden

Sie können die Google-Auswahl auch in Ihren mobilen Android-Apps verwenden.

Anmeldedaten für eine mobile App autorisieren

Wenn Sie die Google-Auswahl in Ihrer Android-App verwenden möchten, müssen Sie Nutzer mit OAuth 2.0 autorisieren, ähnlich wie bei Desktopanwendungen. Weitere Informationen zur Android-Authentifizierung finden Sie unter Zugriff auf Google-Nutzerdaten.

Wenn Sie die Google-Auswahl während der Autorisierung anzeigen möchten, erstellen Sie eine AuthorizationRequest und verwenden Sie den PICKER_OAUTH_TRIGGER Ressourcenparameter für das AuthorizationRequest.ResourceParameter Objekt.

Beim Erstellen der AuthorizationRequest gilt Folgendes:

  • Verwenden Sie den Bereich drive.file.

  • Rufen Sie setOptOutIncludingGrantedScopes auf true, damit das zurückgegebene Token nur für den Bereich drive.file und nicht für zuvor gewährte Bereiche gilt.

  • Setzen Sie das AuthorizationRequest.Prompt Feld auf CONSENT, um den Nutzer um die Einwilligung zu bitten, auch wenn sie zuvor erteilt wurde.

  • Optional können Sie auch den Bitmap-Operator „OR“ (|) verwenden, um das Feld AuthorizationRequest.Prompt auf SELECT_ACCOUNT zu setzen. So kann der Nutzer ein Konto auswählen, bevor die Aufforderung zur Einwilligung angezeigt wird.

Google-Auswahl aufrufen

Ähnlich wie bei Desktopanwendungen können Sie die Google-Auswahl mit mehreren optionalen Parametern anpassen:

  • PICKER_ALLOW_MULTIPLE: Ermöglicht Nutzern, mehrere Dateien auszuwählen.
  • PICKER_MIMETYPES: Akzeptiert eine durch Kommas getrennte Liste von MIME-Typen, um die Suchergebnisse zu filtern. Wenn nicht festgelegt, werden in der Ansicht Dateien für alle MIME-Typen angezeigt.
  • PICKER_FILE_IDS: Akzeptiert eine durch Kommas getrennte Liste von Datei-IDs, um die Suchergebnisse zu filtern. Wenn nicht festgelegt, werden in der Ansicht alle Dateien angezeigt.
  • PICKER_ALLOW_FOLDER_SELECTION: Ermöglicht Nutzern, auch Ordner auszuwählen.

Weitere Informationen zu den optionalen Parametern in Desktopanwendungen finden Sie unter Google-Auswahl anzeigen.

Sobald der Nutzer Zugriff gewährt und die entsprechenden Dateien ausgewählt hat, wird das getTokenResponseParams Objekt der AuthorizationResult Ressource zurückgegeben. Wenn der Nutzer Zugriff gewährt hat, enthält dieses Objekt den Wert picked_file_ids, eine durch Kommas getrennte Liste der ausgewählten Datei-IDs.