Von der App erstellte Medienobjekte und Alben auflisten

Erforderliche Autorisierungsbereiche

Für das Auflisten von Apps, die von Apps erstellt wurden, ist die photoslibrary.readonly.appcreateddata erforderlich Umfang. Weitere Informationen zu Bereichen finden Sie unter Autorisierung Bereiche.

Übersicht

Mit der Library API können Sie Medienelemente, die Ihre Anwendung erstellt hat.

Zu den wichtigsten Funktionen der Einträge für Medienelemente gehören:

  • Medieninhalte aus bestimmten in der App erstellten Alben oder aus der gesamten App auflisten Bibliothek
  • Filter anwenden (Datum, Inhaltskategorie, Medien) type), wenn Sie die Liste Ihrer Anzeigen Ergebnisse

  • mediaItem-Objekte abrufen mit wichtigen Details wie direkten Links und Metadaten.

Wenn Sie die Bibliotheks- und Albuminhalte auflisten, wird eine Liste der Medienelemente zurückgegeben. Bereiche, die Teil eines Albums sind enthalten sind. Medienelemente beschreiben ein Foto, ein Video oder andere Medien. A mediaItem enthält einen direkten Link zum Element, einen Link zum Element in Google Fotos und andere relevante Metadaten. Weitere Informationen finden Sie unter Auf Medienelemente zugreifen und mediaItems.

Von Apps erstellte Alben auflisten

Sie können mit albums.list Alben auflisten, die mit Ihrer App erstellt wurden.

REST

Ein Beispiel für eine Anfrage:

GET https://photoslibrary.googleapis.com/v1/albums

Die Anfrage gibt das folgende Ergebnis zurück:

{
  "albums": [
    {
      "id": "album-id",
      "title": "album-title",
      "productUrl": "album-product-url",
      "coverPhotoBaseUrl": "album-cover-base-url_do-not-use-directly",
      "coverPhotoMediaItemId": "album-cover-media-item-id",
      "isWriteable": "whether-you-can-write-to-this-album",
      "mediaItemsCount": "number-of-media-items-in-album"
    },
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

Jedes zurückgegebene Album verfügt über eine ID, die zum Abrufen des Inhalts der wie unter Albuminhalte auflisten dargestellt. Außerdem den Titel und die Anzahl der darin enthaltenen Medienelemente enthält.

Das productUrl verweist auf das Album in Google Fotos, das ein die der Nutzer öffnet.

coverPhotoMediaItemId enthält das Medienelement ID, die das Cover repräsentiert Foto dieses Albums Verwenden Sie coverPhotoBaseUrl, um auf dieses Titelbild zuzugreifen. Sie sollten die coverPhotoBaseUrl nicht direkt verwenden, ohne anzugeben, zusätzliche Parameter.

Die Antwort enthält auch ein nextPageToken. Weitere Informationen finden Sie unter Paginierung:

Die Antwort für leere Alben variiert in dieser Hinsicht: mediaItemsCount und coverPhotoMediaItemId sind standardmäßig auf 0 gesetzt und werden in der REST weggelassen. Antwort. Beachten Sie außerdem, dass coverPhotoBaseUrl auf einen Standardplatzhalter verweist Bild.

Von der App erstellte Bibliotheksinhalte auflisten

Sie können alle Medienelemente aus der Google Fotos-Galerie des Nutzers auflisten die von Ihrer App erstellt wurden. Archivierte und gelöschte Elemente sind davon nicht betroffen. Ich können Media-Elemente basierend auf ihrem Inhalt, ihrem Datum und anderen Eigenschaften auflisten, indem Filter anwenden.

Rufen Sie zum Auflisten von Medienelementen mediaItems.list

REST

Ein Beispiel für eine Anfrage:

GET https://photoslibrary.googleapis.com/v1/mediaItems
Content-type: application/json
Authorization: Bearer oauth2-token
{
  "pageSize": "100",
}

Die GET-Anfrage gibt die folgende Antwort zurück:

{
  "mediaItems": [
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

Die Antwort enthält eine Liste von Medienelementen, sortiert vom neuesten zum aktuellsten. Weitere Informationen finden Sie unter mediaItems. Außerdem enthält ein nextPageToken, das ausführlicher beschrieben wird unter Paginierung:

Albuminhalt auflisten

Wenn Sie alle Medienelemente in einem Album auflisten möchten, fügen Sie das Feld albumId zu Ihrem Suchanfrage. Weitere Informationen zu albumId finden Sie unter Liste Alben. Wenn albumId ungültig ist, wird der Fehler Bad Request angezeigt. zurückgegeben. Wenn die ID gültig ist, aber das Album für die authentifizierte wird der Fehler Not Found zurückgegeben. Weitere Informationen zum Fehler finden Sie unter Tipps zur Leistung und Best Practices.

REST

Ein Beispiel für eine Anfrage:

POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-type: application/json
Authorization: Bearer oauth2-token
{
  "pageSize": "100",
  "albumId": "album-id"
}

Die POST-Anfrage gibt die folgende Antwort zurück:

{
  "mediaItems": [
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

Die Antwort enthält ein nextPageToken und die Liste der Medienelemente. Gefällt mir nicht, wenn Bibliotheksinhalte aufgelistet, werden die Medienelemente in ihrer Reihenfolge im Album. Weitere Informationen finden Sie unter mediaItems und Paginierung: Der Nutzer kann die Bestellung in der Google Fotos-Benutzeroberfläche bearbeiten.

Wenn albumId festgelegt ist, kannst du beim Auflisten von Albuminhalten keinen Filter anwenden. Dies führt zum Fehler Bad Request.

Paginierung für REST

Zur Verbesserung der Leistung sollten Methoden, die eine große Anzahl von Ergebnissen zurückgeben (z. B. list-Methoden) können die Antwort paginieren. Die maximale Anzahl der Ergebnisse pro Seite wird durch den Parameter pageSize angegeben.

Bei Aufrufen von mediaItems.search und mediaItems.list ist die Standardseitengröße 25 Elemente. Wir empfehlen diese Seitengröße, da sie ein Gleichgewicht zwischen der die Größe der Antwort und die Ausführungsrate. Die maximale Seitengröße für Medienelemente Such- und Listenanfragen 100 Elemente enthalten.

Die Standard- und empfohlene Seitengröße für Albenlisten beträgt 20 Alben, maximal 50 Alben.

Ist die Anzahl der verfügbaren Ergebnisse größer als die Seitengröße, wird die Antwort enthält einen nextPageToken, der Ihrer Anwendung anzeigt, dass zum Abrufen weiterer Ergebnisse vom Server.

Beispiel

Sie müssen den nextPageToken an nachfolgende Anfragen im Parameter anhängen. pageToken, wie im folgenden Beispiel gezeigt. pageToken zusammen angeben mit anderen für den Vorgang erforderlichen Parametern, entweder im Text des -Anforderung oder als Abfrageparameter verwendet werden.

Anfrage Nr. 1

{
  "pageSize": "5",
  "filters": { … }
}

Antwort 1

{
  "mediaItem": [ … ],
  "nextPageToken": "next-page-token"
}

Anfrage Nr. 2

{
  "pageSize": "5",
  "filters": { … },
  "pageToken": "page-token"
}

Antwort 2

{
  "mediaItem": [ … ],
  "nextPageToken": "next-page-token"
}

Fahren Sie mit diesem Muster fort, bis keine nextPageToken-Objekte mehr vorhanden sind.

Die nextPageToken ist nur für dieselbe Anfrage gültig. Wenn Parameter geändert werden, darf in derselben Anfrage kein zuvor verwendeter nextPageToken verwendet werden.