Wyświetlanie utworzonych w aplikacji elementów multimedialnych i albumów

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ściSprawdzone 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.