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.
- Erstellen Sie eine Sitzung, damit ein Nutzer Media-Elemente auswählen kann.
- Frage die Sitzung ab, um zu prüfen, wann der Nutzer die Auswahl der Media-Elemente abgeschlossen hat.
- Medienelemente auflisten und abrufen
- 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 AbfrageintervalletimeoutIn
: 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.
- Sitzung erstellen:Rufen Sie
sessions.create
auf, um eine neue Sitzung zu starten und diepickerUri
abzurufen. 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- Sitzung abfragen:
- Verwenden Sie das empfohlene pollInterval aus
pollingConfig
. - Prüfen Sie, ob
mediaItemsSet
„true“ ist.- Wenn
true
, fahre mit der Auflistung der ausgewählten Mediendateien fort. - Wenn
false
, wird die Abfrage fortgesetzt, bistimeoutIn
erreicht ist.
- Wenn
- Zeitüberschreitungen und Stornierungen ordnungsgemäß abwickeln
- Verwenden Sie das empfohlene pollInterval aus
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 hatpollingConfig.pollInterval
: empfohlene Wartezeit vor der nächsten UmfragepollingConfig.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.