Medya öğelerini listele ve al

Kullanıcılar ambiyans cihazlarını yapılandırdıktan ve Google Fotoğraflar'da medya kaynaklarını seçtikten sonra uygulamanız, bu medya öğelerini listeleyip görüntülemek için alabilir.

Başlamadan önce

mediaSourcesSet için anket

Bir cihazın medya öğelerini listelemeden önce kullanıcının, Google Fotoğraflar uygulamasında uygulamanızla paylaşmak istediği fotoğrafları seçmesi gerekir. Uygulamanız, bu seçimin ne zaman yapıldığını belirlemek için cihazı yoklamalıdır.

Belirli bir deviceId için devices.get yöntemini düzenli olarak çağırın. AmbientDevice yanıtındaki mediaSourcesSet alanını izleyin. Başlangıçta false olacaktır. Kullanıcı medya kaynaklarını başarıyla seçtikten sonra bu alan true olarak değişir.

AmbientDevice yanıtı, anket sıklık kılavuzu olarak kullanmanız gereken bir pollInterval içeren bir pollingConfig içerir.

Medya Öğelerini Listeleme

Bir cihaz için mediaSourcesSet true olduğunda, kullanıcı tarafından seçilen medya öğelerini getirmeye başlayabilirsiniz.

  1. mediaItems.list uç noktasını kullanın: Yolda deviceId'yi sağlayarak https://photosambient.googleapis.com/v1/mediaItems için bir GET isteği gönderin.

  2. Sayfalandırmayı ele alın (gerekirse): Yanıt sayfalara bölünmüş olabilir. Döndürülecek maksimum öğe sayısını belirtmek için pageSize parametresini, sonraki sonuç sayfalarını almak için önceki bir yanıttaki pageToken parametresini kullanın.

  3. Medya öğelerini işleme: Yanıt, her biri seçili bir medya öğesini temsil eden bir AmbientMediaItem nesne dizisi içerir. Bu nesneler aşağıdakiler gibi temel ayrıntıları içerir:

    • id: Medya öğesinin benzersiz tanımlayıcısı.
    • creationTime: Medya öğesinin oluşturulduğu zaman damgası.
    • mediaFile: Gerçek içeriğe erişmek için ayrıntıları içeren bir nesne.

mediaFile alanı baseUrl değerini içerir. Bu baseUrl, medya öğesinin içeriğine çeşitli çözünürlüklerde veya biçimlerde erişmek için URL oluşturmak amacıyla kullanacağınız değerdir.

Temel URL'ler

Google Fotoğraflar API'lerindeki temel URL'ler, medya öğelerinin ham baytlarına erişim sağlar. Böylece uygulamanız bu öğeleri indirebilir veya görüntüleyebilir. Bu URL'ler, albümler listelenirken (Library API) veya medya öğelerine erişilirken (hem Library hem de Picker API'leri) yanıtlara dahil edilir. Ana URL'lerin düzgün çalışması için ek parametrelere ihtiyaç duyduğunu unutmayın.

Picker API için:

Tüm PickedMediaItem.mediaFile nesneleri bir baseUrl içerir.

Temel URL'ler 60 dakika boyunca etkin kalır ancak kullanıcı Google Hesabı ayarlarından uygulamanızın izinlerini iptal ederse daha erken sona erebilir.

Library API için:

Temel URL'ler 60 dakika boyunca etkin kalır.

Çeşitli temel URL'ler şunlardır:

  • baseUrl: Fotoğrafa, videonun küçük resmine doğrudan erişebilir veya video baytlarını indirebilirsiniz.
  • coverPhotoBaseUrl: Albümün kapak fotoğrafına doğrudan erişebilirsiniz.
  • profilePictureBaseUrl: mediaItem sahibinin profil fotoğrafına doğrudan erişme

Resim temel URL'leri

Resim ana URL'leriyle kullanabileceğiniz seçeneklerin listesi aşağıda verilmiştir:

Parametre
w, h

Açıklama

Genişlik (w) ve yükseklik (h) parametreleri.

Fotoğraf veya video küçük resmi gibi bir resim medya öğesine erişmek için uygulamanızda görüntülemeyi planladığınız boyutları belirtmeniz gerekir (böylece resim, en boy oranı korunarak bu boyutlara ölçeklendirilebilir). Bunun için temel URL'yi, örneklerde gösterildiği gibi gerekli boyutlarınızla birleştirin.

Örnekler:

base-url=wmax-width-hmax-height

2048 pikselden geniş ve 1024 pikselden yüksek olmayan bir medya öğesi göstermek için aşağıdaki örnekten yararlanabilirsiniz:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Açıklama

Kırpma, c parametresi.

Resmi, belirttiğiniz tam genişlik ve yükseklik boyutlarına göre kırpmak istiyorsanız temel URL'yi zorunlu w ve h parametreleriyle birlikte isteğe bağlı -c parametresiyle birleştirin.

Boyut (piksel cinsinden), [1, 16383] aralığında olmalıdır. Resmin genişliği veya yüksekliği istenen boyutu aşarsa resim küçültülür ve kırpılır (en boy oranı korunur).

Örnekler:

base-url=wmax-width-hmax-height-c

Bu örnekte uygulama, tam olarak 256 piksel genişliğinde ve 256 piksel yüksekliğinde bir medya öğesi (ör. küçük resim) gösterir:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Açıklama

İndirme, d parametresi.

Resmi, konum meta verileri dışındaki tüm Exif meta verilerini koruyarak indirmek istiyorsanız temel URL'yi d parametresiyle birleştirin.

Örnekler:

base-url=d

Bu örnekte uygulama, konum meta verileri dışındaki tüm meta verileri içeren bir resim indirir:

https://lh3.googleusercontent.com/p/Az....XabC=d

Video temel URL'leri

Video ana URL'leriyle kullanabileceğiniz seçeneklerin listesi aşağıda verilmiştir:

Parametre
dv

Açıklama

Bir videonun mediaItem baytlarına erişmek için baseUrl parametresini video indirme parametresi dv ile birleştirin.

dv parametresi, orijinal videonun yüksek kaliteli, kod dönüştürülmüş bir sürümünü ister. Parametre, w ve h parametreleriyle uyumlu değildir.

Video indirmelerinin temel URL'lerinin bayt döndürmesi birkaç saniye sürebilir.

Bu parametreyi kullanmadan önce medya öğelerinin mediaMetadata.status alanının READY olduğundan emin olun. Aksi takdirde, medya öğenizin işlenmesi tamamlanmadıysa hata alabilirsiniz.

Örnekler:

base-url=dv

Aşağıdaki örnekte, bir videonun baytlarının nasıl indirileceği gösterilmektedir:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c ve d

Açıklama

Videonun küçük resmine erişmek için resim temel URL parametrelerinden herhangi birini kullanın.

Varsayılan olarak tüm video küçük resimlerinde bir oynatma düğmesi yer paylaşımı bulunur. Bu yer paylaşımını kaldırmak için -no parametresine bakın.

Örnekler:

Örnekler için resim temel URL'leri tablosuna bakın.

no

Açıklama

Küçük resim yer paylaşımını kaldır no parametresi.

Bir videonun küçük resmini oynatma düğmesi yer paylaşımı olmadan almak istiyorsanız temel URL'yi no parametresiyle birleştirin.

no parametresi, resim taban URL parametrelerinden en az biri ile kullanılmalıdır.

Örnekler:

base-url=wmax-width-hmax-height-no

Aşağıdaki örnekte, tam olarak 1.280 piksel genişliğinde ve 720 piksel yüksekliğinde olan ve oynatma düğmesi yer almayan bir video küçük resmi gösterilmektedir:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

Hareketli fotoğraf temel URL'leri

Hareketli fotoğraflar hem fotoğraf hem de video öğeleri içerir. Hareketli fotoğraf baseUrl istekleri için resim temel URL'lerinden veya video temel URL'lerinden parametreler kullanabilirsiniz.

Parametre
dv

Açıklama

Hareketli fotoğraf medya öğesinin video öğesini almak için video temel URL'lerinden indirirken kullandığınız dv parametresini kullanın.

w, h, c ve d

Açıklama

Hareketli fotoğraf medya öğesinin fotoğraf öğesini almak için resim temel URL'leri biçimini kullanın.

Sonraki Adımlar

  • Örnek Uygulama: Örnek uygulamamızda medya öğelerinin listelenip alınmasıyla ilgili bir örnek bulunmaktadır. Daha fazla bilgi için checkMediaSourcesSet ve fetch_media_item_list işlevlerine göz atın.
  • Referans Dokümanları: Mevcut tüm yöntemler, istek ve yanıt parametreleri ve hata kodları hakkında ayrıntılı bilgi için medya öğeleriyle ilgili kapsamlı referans dokümanlarını inceleyin.