Medieninhalte auflisten und abrufen

Nachdem ein Nutzer sein Ambient-Gerät konfiguriert und in Google Fotos Medienquellen ausgewählt hat, kann Ihre Anwendung diese Media-Elemente auflisten und abrufen, um sie anzuzeigen.

Vorbereitung

Umfrage für mediaSourcesSet

Bevor Sie Media-Elemente für ein Gerät auflisten können, muss der Nutzer in der Google Fotos App die Fotos ausgewählt haben, die er mit Ihrer Anwendung teilen möchte. Ihre Anwendung muss das Gerät abfragen, um festzustellen, wann diese Auswahl getroffen wurde.

Rufen Sie die Methode devices.get für die jeweilige deviceId regelmäßig auf. Behalten Sie das Feld mediaSourcesSet in der AmbientDevice-Antwort im Blick. Anfangs wird es false sein. Sobald der Nutzer erfolgreich Media-Quellen ausgewählt hat, ändert sich dieses Feld in true.

Die AmbientDevice-Antwort enthält ein pollingConfig mit einem pollInterval, das Sie als Richtlinie für die Abfragehäufigkeit verwenden sollten.

Medienelemente auflisten

Sobald mediaSourcesSet für ein Gerät true ist, können Sie die vom Nutzer ausgewählten Media-Elemente abrufen.

  1. mediaItems.list-Endpunkt verwenden:Senden Sie eine GET-Anfrage an https://photosambient.googleapis.com/v1/mediaItems und geben Sie deviceId im Pfad an.

  2. Paginierung verarbeiten (falls erforderlich): Die Antwort kann paginiert sein. Verwenden Sie den Parameter pageSize, um die maximale Anzahl der zurückzugebenden Elemente anzugeben, und den Parameter pageToken aus einer vorherigen Antwort, um nachfolgende Ergebnisseiten abzurufen.

  3. Medienelemente verarbeiten:Die Antwort enthält ein Array von AmbientMediaItem-Objekten, die jeweils ein ausgewähltes Medienelement darstellen. Diese Objekte enthalten wichtige Details wie:

    • id: Die eindeutige Kennung für das Media-Element.
    • creationTime: Der Zeitstempel, der angibt, wann das Media-Element erstellt wurde.
    • mediaFile: Ein Objekt mit Details für den Zugriff auf die eigentlichen Inhalte.

Das Feld mediaFile enthält baseUrl. Mit diesem baseUrl können Sie URLs erstellen, um auf den Inhalt des Media-Elements in verschiedenen Auflösungen oder Formaten zuzugreifen.

Basis-URLs

Über Basis-URLs in den Google Fotos APIs kann auf die Rohbytes von Media-Elementen zugegriffen werden, sodass Ihre App sie herunterladen oder anzeigen kann. Diese URLs sind in Antworten enthalten, wenn Alben (Library API) oder Media-Elemente (Library API und Picker API) aufgelistet werden. Denken Sie daran, dass für Basis-URLs zusätzliche Parameter erforderlich sind, damit sie richtig funktionieren.

Für die Picker API:

Alle PickedMediaItem.mediaFile-Objekte enthalten einen baseUrl.

Basis-URLs bleiben 60 Minuten lang aktiv, können aber früher ablaufen, wenn der Nutzer die Berechtigungen Ihrer App über die Einstellungen seines Google-Kontos widerruft.

Für die Library API:

Basis-URLs bleiben 60 Minuten lang aktiv.

Die verschiedenen Basis-URLs sind:

  • baseUrl: Direkter Zugriff auf Fotos, Miniaturansichten für Videos oder Download von Videobyte.
  • coverPhotoBaseUrl: Direkter Zugriff auf das Titelbild des Albums.
  • profilePictureBaseUrl: Direkter Zugriff auf das Profilbild des Inhabers eines mediaItem.

Bild-Basis-URLs

Hier finden Sie eine Liste der Optionen, die Sie mit den Basis-URLs für Bilder verwenden können:

Parameter
w, h

Beschreibung

Die Parameter für Breite (w) und Höhe (h).

Wenn Sie auf ein Bildmedienobjekt wie ein Foto oder eine Miniaturansicht für ein Video zugreifen möchten, müssen Sie die Abmessungen angeben, die in Ihrer Anwendung angezeigt werden sollen. So kann das Bild in diese Abmessungen skaliert werden, ohne dass das Seitenverhältnis geändert wird. Dazu müssen Sie die Basis-URL mit den gewünschten Dimensionen verknüpfen, wie in den Beispielen gezeigt.

Beispiele:

base-url=wmax-width-hmax-height

Hier ist ein Beispiel, um ein Media-Element mit einer Breite von maximal 2.048 Pixel und einer Höhe von maximal 1.024 Pixel darzustellen:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Beschreibung

Der Parameter „crop“ (Zuschneiden), c.

Wenn Sie das Bild auf die von Ihnen angegebene Breite und Höhe zuschneiden möchten, hängen Sie an die Basis-URL den optionalen Parameter -c sowie die obligatorischen Parameter w und h an.

Die Größe (in Pixel) muss im Bereich [1, 16383] liegen. Wenn die Breite oder Höhe des Bildes die angeforderte Größe überschreitet, wird das Bild verkleinert und zugeschnitten, wobei das Seitenverhältnis beibehalten wird.

Beispiele:

base-url=wmax-width-hmax-height-c

In diesem Beispiel wird in der Anwendung ein Media-Element mit einer Breite von genau 256 px und einer Höhe von genau 256 px angezeigt, z. B. ein Thumbnail:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Beschreibung

Der Parameter „Herunterladen“, d.

Wenn Sie das Bild mit allen Exif-Metadaten außer den Standortmetadaten herunterladen möchten, hängen Sie den Parameter d an die Basis-URL an.

Beispiele:

base-url=d

In diesem Beispiel lädt die Anwendung ein Bild mit allen Metadaten außer den Standortmetadaten herunter:

https://lh3.googleusercontent.com/p/Az....XabC=d

Basis-URLs für Videos

Hier finden Sie eine Liste der Optionen, die Sie mit den Basis-URLs für Videos verwenden können:

Parameter
dv

Beschreibung

Um auf die Byte eines Videos mediaItem zuzugreifen, verketten Sie baseUrl mit dem Parameter zum Herunterladen von Videos, dv.

Mit dem Parameter dv wird eine transcodierte Version des Originalvideos in hoher Qualität angefordert. Der Parameter ist nicht mit den Parametern w und h kompatibel.

Es kann bis zu einigen Sekunden dauern, bis die Basis-URLs für Videodownloads Bytes zurückgeben.

Bevor Sie diesen Parameter verwenden, prüfen Sie, ob das Feld mediaMetadata.status der Media-Elemente READY ist. Andernfalls erhalten Sie möglicherweise eine Fehlermeldung, wenn die Verarbeitung des Media-Elements noch nicht abgeschlossen ist.

Beispiele:

base-url=dv

Das folgende Beispiel zeigt, wie Sie die Byte eines Videos herunterladen:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c und d

Beschreibung

Wenn Sie auf das Thumbnail des Videos zugreifen möchten, verwenden Sie einen der Parameter für die Basis-URL von Bildern.

Standardmäßig enthalten alle Video-Thumbnails ein Overlay mit einer Wiedergabeschaltfläche. Informationen zum Entfernen dieses Overlays finden Sie im Parameter -no.

Beispiele:

Beispiele finden Sie in der Tabelle mit den Basis-URLs für Bilder.

no

Beschreibung

Der Parameter zum Entfernen des Miniaturbild-Overlays, no.

Wenn Sie die Miniaturansicht eines Videos ohne die Überlagerung einer Wiedergabeschaltfläche abrufen möchten, hängen Sie den Parameter no an die Basis-URL an.

Der Parameter no muss mit mindestens einem der Parameter für die Basis-URL des Bildes verwendet werden.

Beispiele:

base-url=wmax-width-hmax-height-no

Im folgenden Beispiel wird ein Videominiaturbild mit einer Breite von genau 1.280 px und einer Höhe von 720 px angezeigt, das kein Overlay mit einer Wiedergabeschaltfläche enthält:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

Basis-URLs für Fotos mit Bewegtbild

Fotos mit Bewegtbild enthalten sowohl Foto- als auch Videoelemente. Sie können Parameter aus Bildbasis-URLs oder Videobasis-URLs für baseUrl-Anfragen für Bewegtbilder verwenden.

Parameter
dv

Beschreibung

Wenn Sie das Videoelement eines Bewegtbild-Medienelements abrufen möchten, verwenden Sie den Parameter dv wie beim Herunterladen von Video-Basis-URLs.

w, h, c und d

Beschreibung

Wenn Sie das Fotoelement eines Bewegtbild-Medienelements abrufen möchten, verwenden Sie das Format für Bild-Basis-URLs.

Inhaltsrichtlinien und ‑filterung

In Google Fotos wird standardmäßig eine Inhaltsfilterung auf Bilder und Videos angewendet, die auf einem freigegebenen Gerät wie einem Fernseher oder einem digitalen Display angezeigt werden. Dieser Filter soll die Wiedergabe optimieren, indem Inhalte wie die folgenden ausgeschlossen werden:

  • Funktionale Bilder (z.B. Screenshots, Dokumente, Belege).
  • Bilder, die auf einem großen Bildschirm möglicherweise schlecht gerendert werden (z.B. sehr niedrige Auflösung, Unschärfe, übermäßiges Rauschen).
  • Inhalte, die als sehr persönlich oder sensibel eingestuft werden und möglicherweise nicht für die allgemeine Anzeige in einer gemeinsamen Umgebung vorgesehen sind.

Die gesamte Inhaltsfilterung erfolgt automatisch. Damit Nutzer mehr Kontrolle über die angezeigten Inhalte haben, können Sie ihnen erlauben, die für die Ambient-Anzeige verwendeten Medienquellen manuell auszuwählen und zu aktualisieren.

Nächste Schritte

  • Beispielanwendung:Unsere Beispielanwendung enthält ein Beispiel für das Auflisten und Abrufen von Media-Elementen. Weitere Informationen finden Sie unter den Funktionen checkMediaSourcesSet und fetch_media_item_list.
  • Referenzdokumentation:In der ausführlichen Referenzdokumentation zu Media-Elementen finden Sie detaillierte Informationen zu allen verfügbaren Methoden, Anfrage- und Antwortparametern sowie Fehlercodes.