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.