Desktop- und mobile Apps – Übersicht

Mit der Google Picker API können Nutzer Google Drive-Dateien auswählen oder hochladen. Nutzer können Ihren Desktop- und mobilen Apps die Berechtigung erteilen, auf ihre Drive-Daten zuzugreifen. So können Sie auf sichere und autorisierte Weise mit ihren Dateien interagieren.

Der Google Picker dient als Dialogfeld zum Öffnen von Dateien, die in Drive gespeichert sind, und bietet mehrere Funktionen:

  • Die Benutzeroberfläche ähnelt der Google Drive-Benutzeroberfläche.
  • Mehrere Ansichten mit Vorschauen und Miniaturansichten von Drive-Dateien.
  • Eine Weiterleitung zur Google-Auswahl in einem neuen Tab im Standardbrowser des Nutzers.

Hinweis: Mit Google Picker können Nutzer 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 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.

    API aktivieren

API-Schlüssel erstellen

Ein API-Schlüssel ist ein langer String, der Groß- und Kleinbuchstaben, Zahlen, Unterstriche und Bindestriche enthält. Beispiel: AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Diese Authentifizierungsmethode wird verwendet, um anonym auf öffentlich verfügbare Daten zuzugreifen, z. B. auf Google Workspace-Dateien, die mit der Freigabeeinstellung „Jeder im Internet mit diesem Link“ freigegeben wurden. Weitere Informationen finden Sie unter API-Schlüssel verwalten.

So erstellen Sie einen API-Schlüssel:

  1. Rufen Sie in der Google Cloud Console das Menü  > APIs und Dienste > Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > API-Schlüssel.
  3. Ihr neuer API-Schlüssel wird angezeigt.
    • Klicken Sie auf „Kopieren“ , um den API-Schlüssel zu kopieren und im Code Ihrer App zu verwenden. Der API-Schlüssel ist auch im Bereich „API-Schlüssel“ der Anmeldedaten Ihres Projekts zu finden.
    • Damit eine nicht autorisierte Verwendung verhindert wird, sollten Sie einschränken, wo und für welche APIs der API-Schlüssel verwendet werden kann. Weitere Informationen finden Sie unter API-Einschränkungen hinzufügen.

Anmeldedaten für eine Desktop-App autorisieren

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.
  1. Rufen Sie in der Google API Console das Menü  > Google Auth-Plattform > Clients auf.

    Zu „Clients“

  2. Klicken Sie auf Client erstellen.
  3. Klicken Sie auf Anwendungstyp > Desktop-App.
  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, für die sie zuvor autorisiert wurden, müssen Sie die folgenden Schritte ausführen:

  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.

Google Picker anzeigen

Die Google Picker API für Desktop-Apps leitet zu Google Picker in einem neuen Tab im Standardbrowser des Nutzers weiter. Sobald der Nutzer Zugriff gewährt und die relevanten Dateien ausgewählt hat, kehrt die Google-Auswahl über die Callback-URL zur aufrufenden App zurück. 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 Web-Apps – Übersicht.

So ermöglichen Sie Nutzern, Zugriff auf zusätzliche Dateien zu gewähren oder Dateien für die Verwendung in Ihrem Desktop-App-Ablauf auszuwählen:

  1. Fordern Sie Zugriff auf den Bereich drive.file an, um die OAuth 2.0-Zugriffsseite in einem neuen Browser-Tab 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.

    Beachten Sie, dass für Desktop-Apps nur der Bereich drive.file zulässig ist und er nicht mit anderen Bereichen kombiniert werden kann.

  2. Die URL für den neuen Browser-Tab akzeptiert alle Standard-OAuth-Abfragestringparameter.

    Sie müssen die URL-Parameter prompt und trigger_onepick an Ihre OAuth 2.0-Autorisierungs-URL-Anfrage anhängen:

    Parameter Beschreibung Status
    prompt=consent Aufforderung zum Dateizugriff Erforderlich
    trigger_onepick=true Aktivieren Sie die Google-Auswahl. Erforderlich

    Sie können den Google Picker auch mit mehreren optionalen Parametern anpassen:

    Parameter Beschreibung Status
    allow_multiple=true Ist dieser Wert „true“, kann der Nutzer mehrere Dateien auswählen. Optional
    mimetypes=MIMETYPES Eine 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_IDS Eine 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=true Bei „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=true
    

    Ersetzen Sie Folgendes:

    • CLIENT_ID: Die Client-ID Ihrer Desktop-App.

    • REDIRECT_URI: Hier leitet der Autorisierungsserver den Browser des Nutzers nach erfolgreicher Authentifizierung weiter. 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 an das benutzerdefinierte Protokoll oder die Localhost-URL weiterleitet.

  3. Sobald der Nutzer den Zugriff gewährt und die relevanten Dateien ausgewählt hat, wird über OAuth zu der in der Anfrage angegebenen redirect_uri weitergeleitet. Dabei werden die folgenden URL-Parameter 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 im Antrag festgelegten Parameter response_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=SCOPES
    
  4. Apps müssen den Autorisierungscode aus Schritt 3 gegen ein neues OAuth 2.0-Token eintauschen. Weitere Informationen finden Sie unter Autorisierungscode für 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 Picker mit Android verwenden

Sie können Google Picker auch in Ihrer mobilen Android-App verwenden.

Anmeldedaten für eine mobile App autorisieren

Wenn Sie 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 Google Picker während der Autorisierung anzeigen möchten, erstellen Sie ein AuthorizationRequest und verwenden Sie PICKER_OAUTH_TRIGGER mit AuthorizationRequest.ResourceParameter.

Beim Erstellen des AuthorizationRequest:

  • Verwenden Sie den Bereich https://www.googleapis.com/auth/drive.file.
  • Rufen Sie setOptOutIncludingGrantedScopes(true) auf, um sicherzustellen, dass das zurückgegebene Token nur für den Bereich https://www.googleapis.com/auth/drive.file und nicht für zuvor gewährte Bereiche gilt.
  • Legen Sie das Feld AuthorizationRequest.Prompt auf CONSENT fest, um den Nutzer um Einwilligung zu bitten, auch wenn diese bereits erteilt wurde. Dieses Feld gilt nur für Anfragen, die Ressourcenparameter enthalten.
  • Optional können Sie den Bitmap-Operator „OR“ (|) verwenden, um das Feld AuthorizationRequest.Prompt auf SELECT_ACCOUNT festzulegen. 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: Gibt eine durch Kommas getrennte Liste von MIME-Typen zurück, mit denen Suchergebnisse gefiltert werden können. Wenn nicht festgelegt, werden Dateien für alle MIME-Typen in der Ansicht angezeigt.
  • PICKER_FILE_IDS: Gibt eine durch Kommas getrennte Liste von Datei-IDs zurück, mit denen Suchergebnisse gefiltert werden können. Wenn nicht festgelegt, werden alle Dateien in der Ansicht angezeigt.

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 Wert picked_file_ids, eine durch Kommas getrennte Liste der ausgewählten Datei-IDs.