Uygulama tarafından oluşturulan medya öğelerini ve albümleri listeleme

Gerekli yetkilendirme kapsamları

Uygulama tarafından oluşturulan içerikleri listelemek için photoslibrary.readonly.appcreateddata gerekir kapsam. Kapsamlar hakkında daha fazla bilgi için Yetkilendirme kapsamları başlıklı makaleyi inceleyin.

Genel Bakış

Library API, uygulamanızın desteklediği medya öğelerini listelemenize ve bunlara oluşturuyor.

Medya öğelerini listelemenin bazı temel özellikleri şunlardır:

  • Uygulama tarafından oluşturulan belirli albümlerdeki veya uygulama tarafından oluşturulan tüm medya öğelerini listeleyin kütüphane
  • Sonuçlarınızı daraltmak için listeleme yaparken filtreler (tarih, içerik kategorisi, medya türü) uygulayın.

  • mediaItem nesnelerini alma doğrudan bağlantılar ve meta veriler gibi önemli ayrıntılar içeren

Kitaplığın ve albüm içeriğinin listelenmesi, bir medya öğeleri listesi döndürür. Albümlerin parçası olan zenginleştirmeler dahil değildir. Medya öğeleri bir fotoğrafı, videoyu veya başka bir medyayı tanımlar. CEVAP mediaItem, öğenin doğrudan bağlantısını ve Google Fotoğraflar ve diğer ilgili meta veriler. Daha fazla bilgi için Medya öğelerine erişme ve mediaItems başlıklı makaleleri inceleyin.

Uygulama tarafından oluşturulan albümleri listeleme

Uygulamanız tarafından oluşturulan albümleri albums.list.

REST

Örnek bir istek:

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

İstek aşağıdaki sonucu döndürür:

{
  "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"
}

Döndürülen her albüm, şuradaki içeriği almak için kullanılabilecek bir kimliğe sahiptir: Albümün içeriğini listele bölümünde gösterildiği gibi albüme) kolayca ulaşabilirsiniz. Aynı zamanda başlığı ve içerdiği medya öğelerinin sayısını gösterir.

productUrl, Google Fotoğraflar'daki şu olabilecek albümü işaret eder: kullanıcı tarafından açıldı.

coverPhotoMediaItemId, medya öğesini içerir Kapağı temsil eden kimlik bu albümün fotoğrafı. Bu kapak resmine erişmek için coverPhotoBaseUrl uygulamasını kullanın. Belirtmeden doğrudan coverPhotoBaseUrl kullanmamalısınız. ek parametreler.

Yanıt da bir nextPageToken içeriyor. Daha fazla bilgi için bkz. Sayfaları numaralandırma.

Boş albümlerin yanıtı şu şekilde değişir: mediaItemsCount ve coverPhotoMediaItemId varsayılan olarak 0 değerine ayarlanır ve REST'ten çıkarılır. tıklayın. Ayrıca coverPhotoBaseUrl değerinin varsayılan bir yer tutucuya işaret ettiğini unutmayın görüntüsüdür.

Uygulama tarafından oluşturulan kitaplık içeriklerini listeleme

Kullanıcının Google Fotoğraflar kitaplığındaki tüm medya öğelerini listeleyebilirsiniz otomatik olarak oluşturulur. Buna arşivlenmiş ve silinen öğeler dahil değildir. Filtre uygulayarak medya öğelerini içeriklerine, tarihlerine ve diğer özelliklerine göre listeleyebilirsiniz.

Medya öğelerini listelemek için mediaItems.list simgesine dokunun.

REST

Örnek bir istek:

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

GET isteği aşağıdaki yanıtı döndürür:

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

Yanıt, en çok görüntülenenden en az görüntülenene göre sıralanmış medya öğelerinin listesini içerir. Daha fazla bilgi için bkz. mediaItems. Aynı zamanda Aşağıdaki bölümde daha ayrıntılı açıklanan bir nextPageToken içerir: Sayfaları numaralandırma.

Albüm içeriklerini listeleyin

Bir albümdeki tüm medya öğelerini listelemek için albumId alanını arama isteği. albumId hakkında daha fazla bilgi için bkz. Giriş tıklayın. albumId geçersizse Bad Request hatası geri döndü. Kimlik geçerliyse ancak kimliği doğrulanmış kişi için albüm yoksa kullanıcı için Not Found hatası döndürülür. Hatayla ilgili daha fazla bilgi için Performans ipuçları ve En iyi uygulamalar.

REST

Örnek bir istek:

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

POST isteği aşağıdaki yanıtı döndürür:

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

Yanıt, bir nextPageToken ve medya öğelerinin listesini içerir. Beğenmeme durumu: kitaplık içeriklerini listelediğinde, medya öğeleri albümünüz. Daha fazla bilgi için bkz. mediaItems ve Sayfaları numaralandırma. Kullanıcı, siparişi Google Fotoğraflar arayüzünde düzenleyebilir.

albumId ayarlanırsa albüm içeriklerini listelerken filtre uygulayamazsınız. Bu işlem Bad Request hatasına neden olur.

REST için sayfalara ayırma

Performansı artırmak için çok sayıda sonuç döndüren yöntemler (ör. listesi yöntemleri) yanıtı sayfalara ayırabilir. Her bir sorgu için maksimum sonuç sayısı sayfası, pageSize parametresiyle verilir.

mediaItems.search ve mediaItems.list çağrıları için varsayılan sayfa boyutu 25 öğe. Bu sayfa boyutunu öneririz çünkü sayfa boyutu ile yanıt boyutu ve doluluk oranıdır. Medya öğesi için maksimum sayfa boyutu arama ve listeleme istekleri 100 öğedir.

Albümlerin listelenmesi için varsayılan ve önerilen sayfa boyutu 20 albümdür ve en fazla 50 albüm.

Kullanılabilir sonuçların sayısı sayfa boyutundan fazla olduğunda, yanıt uygulamanıza bunu belirten bir nextPageToken içerir daha fazla sonuç getirilir.

Örnek

nextPageToken öğesini, parametrede sonraki isteklere eklemeniz gerekir pageToken olarak ayarlanmıştır. İşlem için gereken diğer parametrelerle birlikte pageToken'ü isteğin gövdesinde veya sorgu parametresi olarak belirtin.

1. İstek

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

Yanıt #1

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

2. İstek

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

Yanıt 2

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

Başka nextPageToken nesne kalmayıncaya kadar bu desene devam edin.

nextPageToken yalnızca aynı istek için geçerlidir. Herhangi bir parametre değiştirilirse daha önce kullanılan bir nextPageToken aynı istekte kullanılmamalıdır.