Gerekli yetkilendirme kapsamları
Uygulama tarafından oluşturulan içeriğin listelenmesinde photoslibrary.readonly.appcreateddata
kapsamı gerekir. Kapsamlar hakkında daha fazla bilgi için Yetkilendirme kapsamları başlıklı makaleyi inceleyin.
Genel Bakış
Kitaplık API'si, uygulamanızın oluşturduğu medya öğelerini listelemenizi ve bunlara erişmenizi sağlar.
Medya öğelerini listelemenin bazı temel özellikleri şunlardır:
- Uygulama tarafından oluşturulan belirli albümlerdeki veya uygulama tarafından oluşturulan kitaplığın tamamındaki medya öğelerini listeleme
Sonuçlarınızı daraltmak için listeleme yaparken filtreler (tarih, içerik kategorisi, medya türü) uygulayın.
Doğrudan bağlantılar ve meta veriler gibi önemli ayrıntılarla
mediaItem
nesnelerini alın.
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. mediaItem
, öğenin doğrudan bağlantısını, Google Fotoğraflar'daki öğenin bağlantısını ve diğer alakalı meta verileri içerir. Daha fazla bilgi için Medya öğelerine erişme ve mediaItems
başlıklı makaleleri inceleyin.
Uygulama tarafından oluşturulan albümleri listeleme
albums.list
kullanarak uygulamanız tarafından oluşturulan albümleri listeleyebilirsiniz.
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ün, Albüm içeriğini listeleme bölümünde gösterildiği gibi albümün içeriğini almak için kullanılabilecek bir kimliği vardır. Ayrıca, başlığı ve içerdiği medya öğelerinin sayısını da içerir.
productUrl
, Google Fotoğraflar'da kullanıcı tarafından açılabilen albümü gösterir.
coverPhotoMediaItemId
, bu albümün kapak fotoğrafını temsil eden medya öğesi kimliğini içerir. Bu kapak resmine erişmek için coverPhotoBaseUrl
simgesini kullanın.
Ek parametreler belirtmeden coverPhotoBaseUrl
parametresini doğrudan kullanmamalısınız.
Yanıt da bir nextPageToken
içeriyor. Daha fazla bilgi için Sayfalandırma bölümüne bakın.
Boş albümler için yanıt, mediaItemsCount
ve coverPhotoMediaItemId
varsayılan olarak 0 olarak ayarlandığı ve REST yanıtından çıkarıldığı için değişiklik gösterir. Ayrıca coverPhotoBaseUrl
'ün varsayılan bir yer tutucu resmi gösterdiğini unutmayın.
Uygulama tarafından oluşturulan kitaplık içeriklerini listeleme
Kullanıcının Google Fotoğraflar kitaplığındaki uygulamanız tarafından oluşturulan tüm medya öğelerini listeleyebilirsiniz. Buna arşivlenmiş ve silinen öğeler dahil değildir. Filtreler kullanarak medya öğelerini içerik, tarih 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ıtta, en çok görüntülenenden en az görüntülenene göre sıralanmış medya öğelerinin listesi yer alır.
Daha fazla bilgi için mediaItems
başlıklı makaleyi inceleyin. Ayrıca Sayfalandırma bölümünde daha ayrıntılı olarak açıklanan bir nextPageToken
içerir.
Albüm içeriklerini listeleme
Bir albümdeki tüm medya öğelerini listelemek için arama isteğinize albumId
alanını ekleyin. albumId
hakkında daha fazla bilgi için Albümleri listeleme başlıklı makaleyi inceleyin. albumId
geçersizse Bad Request
hatası döndürülür. Kimlik geçerliyse ancak kimliği doğrulanmış kullanıcı için albüm yoksa bir Not Found
hatası döndürülür. Hatalarla ilgili daha fazla bilgi için Performans ipuçları ve En iyi uygulamalar başlıklı makaleleri inceleyin.
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. Kitaplık içeriklerinin listelenmesinden farklı olarak, medya öğeleri albümdeki sıralarına göre döndürülür. Daha fazla bilgi için mediaItems
ve Sayfalandırma bölümlerine bakın. Kullanıcı, siparişi Google Fotoğraflar
arayüzünde düzenleyebilir.
albumId
ayarlanmışsa albüm içeriklerini listelerken filtre uygulayamazsınız.
Aksi takdirde Bad Request
hatası oluşur.
REST için sayfalara ayırma
Performansı artırmak için çok sayıda sonuç döndüren yöntemler (liste yöntemleri gibi), yanıtı sayfalara ayırabilir. Her sayfadaki maksimum sonuç sayısı, pageSize
parametresiyle verilir.
mediaItems.search
ve mediaItems.list
çağrıları için varsayılan sayfa boyutu 25 öğedir. Bu sayfa boyutu, yanıtın boyutu ile doluluk oranı arasında bir denge sağladığı için önerilir. Medya öğesi arama ve liste istekleri için maksimum sayfa boyutu 100 öğedir.
Albüm listelemede varsayılan ve önerilen sayfa boyutu 20 albümdür. En fazla 50 albüm listelenir.
Kullanılabilir sonuçların sayısı sayfa boyutundan fazla olduğunda yanıt, uygulamanıza sunucudan daha fazla sonuç getirileceğini belirten bir nextPageToken
içerir.
Örnek
Aşağıdaki örnekte gösterildiği gibi, nextPageToken
parametresini pageToken
parametresindeki sonraki isteklere eklemeniz gerekir. pageToken
öğesini, işlem için gerekli diğer parametrelerle birlikte isteğin gövdesinde veya sorgu parametresi olarak belirtin.
İstek #1
{ "pageSize": "5", "filters": { … } }
Yanıt #1
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
İstek #2
{ "pageSize": "5", "filters": { … }, "pageToken": "page-token" }
Yanıt #2
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
nextPageToken
nesnesi kalmayana kadar bu kalıbı sürdürün.
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.