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-Mediathek auszuwählen. In diesem Leitfaden erfahren Sie, 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:Im Hilfeartikel Erste Schritte mit der Picker API finden Sie einen Überblick über den gesamten Prozess der Bildauswahl.
  • 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 zu und Löschen von Sitzungen. Nach der Authentifizierung der Nutzer können Sie mithilfe von Sitzungen den Lebenszyklus der Bildauswahl verwalten.

  1. Erstellen Sie eine Sitzung, damit Nutzer Medienelemente auswählen können.
  2. Prüfe die Sitzung, um festzustellen, ob der Nutzer die Auswahl der Medienelemente 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 der Google Fotos App auswählen und in Ihrer App teilen können.

sessions.create generiert eine neue Sitzung und gibt eine eindeutige pickerUri zurück, die du deinen Nutzern präsentieren kannst. Die Sitzung bleibt aktiv, bis der Nutzer Medienelemente ausgewählt hat oder die Sitzung abläuft.

Sitzungen

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

Sitzungen abfragen und überwachen

Nachdem eine Sitzung erstellt wurde, solltest du den sessions.get-Endpunkt regelmäßig abfragen, um den Status einer Sitzung abzurufen. Das Attribut mediaItemsSet in der Antwort gibt true zurück, wenn der Nutzer seine Auswahl getroffen hat.

Verwenden Sie effiziente Abfragen. 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 Polling-Intervalle
  • timeoutIn: Timeout-Dauer

Weitere Informationen finden Sie im Beispiel für einen Abfrageablauf.

Sitzungen löschen und bereinigen

sessions.delete entfernt eine Sitzung. Diese Aktion wird in der Regel zum Bereinigen verwendet, nachdem der Nutzer die Medienauswahl abgeschlossen hat oder die Sitzung abgelaufen ist.

Es empfiehlt sich, Sitzungen zu löschen, sobald der Nutzer Medienelemente ausgewählt und deine App die Bytes des Medienelements abgerufen hat.

Beispiel für einen Abfrageablauf

Hier sehen Sie ein Beispiel für das Erstellen und Abfragen einer Sitzung. Nachdem du den Nutzer authentifiziert hast, erstellst du eine neue Sitzung.

  1. Sitzung erstellen:Rufe sessions.create auf, um eine neue Sitzung zu starten und die pickerUri abzurufen.
  2. pickerUri dem Nutzer präsentieren:Zeigen Sie die URL an oder generieren Sie einen QR-Code, den der Nutzer scannen kann. Hier finden Sie einen Überblick über die Auswahlmöglichkeiten für Nutzer.
  3. Sitzung abfragen:
    1. Verwenden Sie das empfohlene pollInterval von pollingConfig.
    2. Prüfen Sie, ob mediaItemsSet wahr ist.
      1. Wenn true angezeigt wird, fahren Sie mit der Auflistung der ausgewählten Medienelemente fort.
      2. Bei false wird die Abfrage fortgesetzt, bis timeoutIn erreicht wird.
    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
}

Zeigen Sie dem Nutzer die pickerUri und beginnen Sie dann mit der Abfrage der Sitzung.

Prüfen Sie die Antwort auf Folgendes:

  • mediaItemsSet: „wahr“, wenn der Nutzer die Auswahl der Medienelemente abgeschlossen hat
  • pollingConfig.pollInterval: empfohlene Wartezeit bis zur nächsten Umfrage
  • pollingConfig.timeoutIn: Gesamtzeit, die gewartet werden soll, bevor eine Zeitüberschreitung auftritt

Wenn mediaItemsSet falsch ist und timeoutIn nicht erreicht wurde, warte auf pollInterval und wiederhole dann den Abruf.

Wenn mediaItemsSet „wahr“ ist, fahre mit der Auflistung der ausgewählten Medienelemente fort.

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