Wymagane zakresy autoryzacji
Aby wyświetlać informacje o treściach tworzonych przez aplikacje, musisz mieć uprawnienie photoslibrary.readonly.appcreateddata
zakresu. Więcej informacji o zakresach znajdziesz w sekcji Autoryzacja
.
Omówienie
Interfejs Library API umożliwia wyświetlanie elementów multimedialnych utworzonych przez Twoją aplikację i uzyskiwanie do nich dostępu.
Oto niektóre z kluczowych funkcji wyświetlania listy elementów multimedialnych:
- wyświetlanie elementów multimedialnych z określonych albumów utworzonych przez aplikacje lub z całej aplikacji, biblioteka
Zastosuj filtry (data, kategoria treści, multimedia type), by zawęzić wyniki. wyniki
Pobierz obiekty
mediaItem
z istotnymi informacjami, takimi jak bezpośrednie linki i metadane.
Wyświetlanie listy zawartości biblioteki i albumu zwraca listę elementów multimedialnych.
Wzbogacenia, które są częścią albumu, nie są uwzględniane. Elementy multimedialne opisują zdjęcie, film lub inne multimedia. mediaItem
zawiera bezpośredni link do elementu, link do elementu w Zdjęciach Google oraz inne odpowiednie metadane. Więcej informacji:
uzyskać dostęp do elementów multimedialnych oraz
mediaItems
.
Wyświetlanie listy albumów utworzonych przez aplikację
Aby wyświetlić albumy utworzone przez Twoją aplikację, użyj polecenia
albums.list
REST
Oto przykładowe żądanie:
GET https://photoslibrary.googleapis.com/v1/albums
Żądanie zwraca taki wynik:
{ "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" }
Każdy zwrócony album ma identyfikator, którego można użyć do pobrania zawartości albumu, tak jak w sekcji Wyświetl listę zawartości albumu. Dodatkowo zawiera tytuł i liczbę zawartych w nim elementów multimedialnych.
productUrl
wskazuje album w Zdjęciach Google, który użytkownik może otworzyć.
Plik coverPhotoMediaItemId
zawiera identyfikator zasobu multimedialnego, który reprezentuje zdjęcie na okładce tego albumu. Aby uzyskać dostęp do tego zdjęcia okładki, użyj aplikacji coverPhotoBaseUrl
.
Nie należy używać interfejsu coverPhotoBaseUrl
bezpośrednio bez określania
dodatkowe parametry.
Odpowiedź zawiera też atrybut nextPageToken
. Więcej informacji:
Podział na strony.
Odpowiedź w przypadku pustych albumów różni się tym, że mediaItemsCount
i
Zmienne coverPhotoMediaItemId
mają domyślnie wartość 0 i są pomijane w REST
. Pamiętaj też, że coverPhotoBaseUrl
wskazuje domyślny obiekt zastępczy
.
Wyświetlanie listy zawartości biblioteki utworzonej przez aplikację
Możesz wyświetlić wszystkie elementy multimedialne z biblioteki Zdjęć Google użytkownika utworzone przez aplikację. Nie obejmuje to elementów zarchiwizowanych i usuniętych. Ty mogą wyświetlać elementy multimedialne według ich zawartości, daty i innych właściwości, stosując filtry.
Aby wyświetlić listę elementów multimedialnych, wywołaj
mediaItems.list
REST
Oto przykładowe żądanie:
GET https://photoslibrary.googleapis.com/v1/mediaItems
Content-type: application/json
Authorization: Bearer oauth2-token
{
"pageSize": "100",
}
Żądanie GET zwraca tę odpowiedź:
{ "mediaItems": [ ... ], "nextPageToken": "token-for-pagination" }
Odpowiedź zawiera listę elementów multimedialnych uporządkowaną od najnowszego do najstarszego.
Więcej informacji: mediaItems
. Dodatkowo
zawiera pole nextPageToken
, które zostało szczegółowo opisane w
Podział na strony.
Wyświetlenie listy zawartości albumu
Aby wyświetlić listę wszystkich elementów multimedialnych w albumie, dodaj pole albumId
do
do wyszukiwania. Więcej informacji o albumId
znajdziesz w artykule Wyświetlanie albumów. Jeśli albumId
jest nieprawidłowy, błąd Bad Request
jest
. Jeśli identyfikator jest prawidłowy, ale dla uwierzytelnionego albumu nie istnieje album
użytkownik, zwracany jest błąd Not Found
. Więcej informacji o obsługiwaniu błędów znajdziesz w artykułach Wskazówki dotyczące wydajności i Sprawdzone metody.
REST
Oto przykładowe żądanie:
POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-type: application/json
Authorization: Bearer oauth2-token
{
"pageSize": "100",
"albumId": "album-id"
}
Żądanie POST zwraca następującą odpowiedź:
{ "mediaItems": [ ... ], "nextPageToken": "token-for-pagination" }
Odpowiedź zawiera element nextPageToken
i listę elementów multimedialnych. Nie lubię, gdy
elementy multimedialne są zwracane według kolejności
. Więcej informacji:
mediaItems
i
Podział na strony. Użytkownik może edytować zamówienie w
Interfejs Zdjęć Google.
Jeśli zasada albumId
jest skonfigurowana, nie można zastosować filtra podczas wyświetlania listy zawartości albumu.
Jeśli to zrobisz, wyświetli się błąd Bad Request
.
Podział na strony w przypadku REST
Aby zwiększyć wydajność, metody zwracające dużą liczbę wyników (np. metody listy) mogą dzielić odpowiedź na strony. Maksymalna liczba wyników w każdym
jest podawana przez parametr pageSize
.
W przypadku wywołań funkcji mediaItems.search
i mediaItems.list
domyślny rozmiar strony to
25 elementów. Zalecamy taki rozmiar strony, ponieważ zachowuje on równowagę
rozmiar odpowiedzi i współczynnik wypełnienia. Maksymalny rozmiar strony elementu multimedialnego
żądania wyszukiwania i wyświetlenia listy to 100 elementów.
Domyślny i zalecany rozmiar strony przy wyświetlaniu listy albumów to 20 albumów, przy czym maksymalnie 50 albumów.
Jeśli liczba dostępnych wyników przekracza rozmiar strony, odpowiedź
zawiera element nextPageToken
, który wskazuje aplikacji, że
więcej wyników do pobrania z serwera.
Przykład
Do kolejnych żądań w parametrze musisz dołączać nextPageToken
.
pageToken
zgodnie z poniższym przykładem. Podaj pageToken
razem
z innymi parametrami wymaganymi do tej operacji, zarówno w treści zapytania,
jako parametru zapytania.
Wniosek 1
{ "pageSize": "5", "filters": { … } }
Odpowiedź 1
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
Prośba nr 2
{ "pageSize": "5", "filters": { … }, "pageToken": "page-token" }
Odpowiedź 2
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
Kontynuuj ten wzorzec, aż skończą się obiekty nextPageToken
.
Pole nextPageToken
jest prawidłowe tylko w przypadku tego samego żądania. Jeśli jakiekolwiek parametry są
wcześniej użytego pola nextPageToken
nie należy używać w taki sam sposób
użytkownika.