Sitzungen erstellen und verwalten

Sitzungen sind das Herzstück der Picker API. Sie bieten Nutzern eine sichere und kontrollierte Möglichkeit, Fotos und Videos aus ihrer Google Fotos-Galerie auszuwählen. In diesem Leitfaden wird beschrieben, wie Sie Sitzungen erstellen, verwalten und effektiv abfragen, um eine nahtlose Fotoauswahl in Ihrer App zu ermöglichen.

Vorbereitung

  • App konfigurieren:Aktivieren Sie die API und richten Sie die Authentifizierung ein. Eine detaillierte Anleitung finden Sie unter App konfigurieren.
  • Ablauf verstehen:Erste Schritte mit der Picker API bietet einen Überblick über den gesamten Prozess der Fotoauswahl.
  • Erforderliche Autorisierungsbereiche prüfen: Für die Arbeit mit Sitzungen ist der Bereich photospicker.mediaitems.readonly erforderlich. Weitere Informationen zu Bereichen finden Sie unter Autorisierungsbereiche.

Sitzungslebenszyklus

Die Picker API bietet Methoden zum Erstellen, Abrufen von Informationen und Löschen von Sitzungen. Nach der Authentifizierung Ihrer Nutzer können Sie Sitzungen verwenden, um den Lebenszyklus der Fotoauswahl zu verwalten.

  1. Erstellen Sie eine Sitzung, damit ein Nutzer Media-Elemente auswählen kann.
  2. Frage die Sitzung ab, um zu prüfen, wann der Nutzer die Auswahl der Media-Elemente abgeschlossen hat.
  3. Medienelemente auflisten und abrufen
  4. Bereinigen Sie die Sitzung, indem Sie sie löschen.

Sitzungen erstellen

Erstellen Sie eine Sitzung, damit Ihre Nutzer Fotos direkt aus ihrer Google Fotos App auswählen und sicher mit Ihrer Anwendung teilen können.

sessions.create generiert eine neue Sitzung und gibt eine eindeutige pickerUri zurück, die Sie Ihren Nutzern präsentieren können. Die Sitzung bleibt aktiv, bis der Nutzer Medieninhalte ausgewählt hat oder die Sitzung abläuft. Bei webbasierten Anwendungen können Sie /autoclose an pickerUri anhängen, um das Google Fotos-Fenster oder den Tab automatisch zu schließen, nachdem der Nutzer seine Auswahl getroffen hat. Weitere Informationen finden Sie unter Fotoauswahl: Was Nutzer sehen.

Sitzungen

Beachten Sie die Sitzungslimits. Die Picker API erzwingt Grenzwerte für die Anzahl der Sitzungen, die Sie erstellen können, um eine verantwortungsvolle Nutzung zu gewährleisten und Missbrauch zu verhindern. Unter normalen Umständen werden Sie diese Limits wahrscheinlich nicht erreichen. Sie sollten jedoch Sitzungen im Blick behalten und proaktiv bereinigen, um Probleme zu vermeiden.

Sitzungen abfragen und überwachen

Nachdem eine Sitzung erstellt wurde, fragen Sie den sessions.get-Endpunkt regelmäßig ab, um den Status einer Sitzung zu erhalten. Das Attribut mediaItemsSet in der Antwort gibt true zurück, wenn der Nutzer seine Auswahl abgeschlossen hat.

Verwenden Sie eine effiziente Abfrage. Die sessions.get-Antwort enthält das pollingConfig-Objekt. Mit den folgenden Feldern können Sie unnötige Aufrufe vermeiden und eine reibungslose Nutzererfahrung schaffen:

  • pollInterval: Optimale Abfrageintervalle
  • timeoutIn: Zeitlimitdauer

Weitere Informationen finden Sie im Beispiel für einen Polling-Ablauf.

Sitzungen löschen und bereinigen

sessions.delete entfernt eine Sitzung. Das wird in der Regel verwendet, um nach dem Auswählen von Medien durch den Nutzer oder nach einem Sitzungs-Timeout aufzuräumen.

Es empfiehlt sich, Sitzungen zu löschen, sobald der Nutzer Media-Elemente ausgewählt hat und Ihre App die Media-Element-Bytes abgerufen hat.

Beispiel für den Ablauf von Umfragen

Hier sehen Sie ein Beispiel für das Erstellen und Abrufen einer Sitzung. Nachdem Sie den Nutzer zum ersten Mal authentifiziert haben, erstellen Sie eine neue Sitzung.

  1. Sitzung erstellen:Rufen Sie sessions.create auf, um eine neue Sitzung zu starten und die pickerUri abzurufen.
  2. pickerUri dem Nutzer präsentieren:Zeigen Sie dem Nutzer die URL an oder generieren Sie einen QR‑Code, den er scannen kann. Übersicht über die Auswahlmöglichkeiten für Nutzer
  3. Sitzung abfragen:
    1. Verwenden Sie das empfohlene pollInterval aus pollingConfig.
    2. Prüfen Sie, ob mediaItemsSet „true“ ist.
      1. Wenn true, fahre mit der Auflistung der ausgewählten Mediendateien fort.
      2. Wenn false, wird die Abfrage fortgesetzt, bis timeoutIn erreicht ist.
    3. Zeitüberschreitungen und Stornierungen ordnungsgemäß abwickeln
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}

Sie sehen hier ein Beispiel:

{
  "id": string,
  "pickerUri": string,
  "pollingConfig": {
    object (PollingConfig)
  },
  "mediaItemsSet": boolean
}

Präsentieren Sie dem Nutzer die pickerUri und beginnen Sie dann mit der Umfrage.

Prüfen Sie die Antwort auf Folgendes:

  • mediaItemsSet: „true“, wenn der Nutzer die Auswahl von Media-Elementen abgeschlossen hat
  • pollingConfig.pollInterval: empfohlene Wartezeit vor der nächsten Umfrage
  • pollingConfig.timeoutIn: Die Gesamtzeit, die gewartet werden soll, bevor eine Zeitüberschreitung auftritt.

Wenn mediaItemsSet „false“ ist und timeoutIn noch nicht erreicht wurde, warten Sie auf pollInterval und rufen Sie dann noch einmal ab.

Wenn mediaItemsSet „true“ ist, fahren Sie mit der Auflistung der ausgewählten Media-Elemente fort.

Wenn timeoutIn erreicht wird, reagieren Sie angemessen auf das Zeitlimit.