Medya öğelerini listele ve al

Kullanıcı, Google Fotoğraflar'da ortam cihazını yapılandırıp medya kaynaklarını seçtikten sonra uygulamanız, bu medya öğelerini listeleyip alarak gösterebilir.

Başlamadan önce

mediaSourcesSet için anket

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

Belirli devices.get için deviceId yöntemini düzenli olarak çağırın. mediaSourcesSet yanıtındaki AmbientDevice 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ı, yoklama sıklığınız için kılavuz olarak kullanmanız gereken bir pollInterval ile birlikte pollingConfig içerir.

Medya Öğelerini Listeleme

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

  1. mediaItems.list uç noktasını kullanın: https://photosambient.googleapis.com/v1/mediaItems adresine bir GET isteği gönderin ve yolda deviceId değerini sağlayın.

  2. Sayfalandırmayı yönetin (gerekirse): Yanıt sayfalandırılabilir. Döndürülecek maksimum öğe sayısını belirtmek için pageSize parametresini, sonuçların sonraki sayfalarını almak için ise önceki 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 önemli 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şimle ilgili ayrıntıları içeren bir nesne.

mediaFile alanı baseUrl değerini içeriyor. Bu baseUrl, medya öğesinin içeriğine çeşitli çözünürlüklerde veya biçimlerde erişmek için URL'ler oluştururken kullanacağınız öğedir.

Temel URL'ler

Google Fotoğraflar API'lerindeki temel URL'ler, medya öğelerinin ham baytlarına erişim sağlayarak uygulamanızın bunları indirmesine veya görüntülemesine olanak tanır. Bu URL'ler, albümler listelenirken (Library API) veya medya öğelerine erişilirken (hem Library API hem de Picker API) yanıtlara dahil edilir. Temel URL'lerin doğru çalışması için ek parametreler gerektiğini unutmayın.

Picker API için:

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

Temel URL'ler 60 dakika boyunca etkin kalır ancak kullanıcı, Google Hesabı ayarları üzerinden uygulamanızın izinlerini iptal ederse daha kısa sürede geçerliliğini yitirebilir.

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şin veya video baytlarını indirin.
  • coverPhotoBaseUrl: Albümün kapak fotoğrafına doğrudan erişin.
  • profilePictureBaseUrl: Bir mediaItem sahibinin profil fotoğrafına doğrudan erişin.

Resim temel URL'leri

Resim tabanı URL'leriyle kullanabileceğiniz seçeneklerin listesini aşağıda bulabilirsiniz:

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östermeyi planladığınız boyutları belirtmeniz gerekir (böylece resim, en boy oranı korunarak bu boyutlara göre ölçeklendirilebilir). Bunu yapmak için, ana URL'yi örneklerde gösterildiği gibi gerekli boyutlarınızla birleştirin.

Örnekler:

base-url=wmax-width-hmax-height

En fazla 2.048 piksel genişliğinde ve 1.024 piksel yüksekliğinde bir medya öğesi gösterme örneği:

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

Açıklama

Kırpma, c parametresi.

Resmi tam olarak belirttiğiniz genişlik ve yükseklik boyutlarında 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, en boy oranı korunarak küçültülür ve kırpılır.

Ö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österiyor:

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

Açıklama

İndirme, d parametresi.

Konum meta verileri hariç tüm Exif meta verilerini koruyarak resmi indirmek istiyorsanız temel URL'yi d parametresiyle birleştirin.

Örnekler:

base-url=d

Bu örnekte, uygulama konum meta verileri hariç tüm meta verileri içeren bir resim indirir:

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

Video temel URL'leri

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

Parametre
dv

Açıklama

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

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

Video indirme işlemleri için temel URL'lerin bayt döndürmesi birkaç saniye sürebilir.

Bu parametreyi kullanmadan önce medya öğelerinin mediaMetadata.status alanının READY olduğunu kontrol edin. 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 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ırma, no parametresi.

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

no parametresi, resim temel URL parametrelerinden en az biriyle birlikte 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 paylaşımı içermeyen 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'leri veya video temel URL'lerinden parametreler kullanabilirsiniz.

Parametre
dv

Açıklama

Bir hareketli fotoğraf medya öğesinin video öğesini almak için dv parametresini video temel URL'lerinden indirme işleminde olduğu gibi 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.

İçerik Politikası ve Filtreleme

Google Fotoğraflar, TV veya dijital ekran gibi paylaşılan bir cihazda gösterilen resim ve videolar için varsayılan olarak standart içerik filtreleme uygular. Bu filtre, aşağıdakiler gibi içerikleri hariç tutarak izleme deneyimini optimize etmek için tasarlanmıştır:

  • İşlevsel resimler (ör. ekran görüntüleri, belgeler, makbuzlar).
  • Büyük ekranda kötü şekilde oluşturulabilecek resimler (ör. çok düşük çözünürlük, bulanıklık, aşırı gren).
  • Paylaşılan bir ortamda genel olarak gösterilmesi amaçlanmamış olabilecek, son derece kişisel veya hassas olarak tanımlanan içerikler.

Tüm içerik filtreleme işlemleri otomatiktir. Kullanıcılara gösterilen içerik üzerinde daha fazla kontrol sağlamak için, ambiyans ekranında kullanılan medya kaynaklarını manuel olarak seçip güncellemelerine izin verebilirsiniz.

Sonraki Adımlar

  • Örnek Uygulama: Örnek uygulamamızda medya öğelerini listeleme ve alma örneği yer alır. Daha fazla bilgi için checkMediaSourcesSet ve fetch_media_item_list işlevlerine göz atın.
  • Referans belgeleri: Kullanılabilir tüm yöntemler, istek ve yanıt parametreleri ile hata kodları hakkında ayrıntılı bilgi için kapsamlı medya öğeleriyle ilgili referans belgelerini inceleyin.