IT
Omnvert

Bazı Takeout fotoğrafları neden JSON dosyasıyla eşleşmez

5 dakika okuma
Fotoğraf adlarını Takeout JSON adlarıyla eşleyen diyagram: supplemental-met diye kesilmiş bir ad, yer değiştiren bir sayaç, düzenlenmiş bir kopya ve başka ZIP parçasındaki bir JSON.

Google her Takeout JSON'unu fotoğrafın özgün adıyla adlandırır, sonra 51 karakterde keser, (1) sayaçlarını sona taşır, düzenlenmiş kopyalara JSON vermez ve dosyayı başka bir ZIP parçasına koyabilir. Fotoğraf adına .json ekleyerek arayan eşleştirme bunların hepsini kaçırır.

1 Ekim 2026'da iki parçalı bir deneme dışa aktarımıyla ve aynı kuralları belgeleyen açık kaynak Google Photos Takeout Helper aracının eşleştirme koduyla kontrol edildi. Omnvert'in Google, Meta ya da Microsoft ile bir bağı yoktur.

Bazı Takeout fotoğrafları JSON dosyalarıyla eşleşmez, çünkü Google her JSON'u fotoğrafın özgün adıyla adlandırır, sonra bu adı eğip büker: uzun adları 51 karakterde keser ve .supplemental-metadata.json eki .supplemental-met.json olur; aynı adlı fotoğraflardaki (1) sayacını başka bir yere koyar; düzenlenmiş kopyalara hiç JSON vermez; JSON'u fotoğraftan farklı bir ZIP parçasına koyabilir. fotoğraf adı + .json arayan bir betik bu dört durumun hepsini kaçırır. Google Takeout Düzeltici fotoğrafları JSON'larıyla sabit bir kural merdiveniyle eşleştirir; aşağıda her durum deneme dışa aktarımımızdan bir örnekle anlatılıyor.

Dört fotoğraf ve JSON adı çiftini gösteren diyagram: 51 karakterde kesilmiş bir ad, sona taşınmış bir sayaç, kendi JSON'u olmayan düzenlenmiş bir kopya ve başka bir ZIP parçasında duran bir JSON.
Bir fotoğrafla JSON'unun birbirinden kopmasının dört yolu. Diyagram deneme dışa aktarımımızdaki dosya adlarından çizildi.

Eşleştirme nasıl çalışıyor

Önce bütün parçalar birlikte okunur; eşleştirme başlamadan her ZIP'teki her JSON bilinir. Sonra her fotoğraf aynı merdiveni iner: birebir ad, taşınmış sayaç, kesilmiş ad, JSON içindeki title alanı, canlı fotoğraf eşi, düzenlenmiş kopya ve son olarak başka bir klasördeki özgün ad. Tam olarak tek bir JSON bulan ilk basamak kazanır. İki ya da daha fazla aday bulan bir basamak asla birini seçmez; çakışmayı not eder ve bir sonraki, daha zayıf basamak denenir. Albüm klasörlerindeki metadata.json dosyaları tanınır ve dışarıda bırakılır, çünkü bir fotoğrafı değil albümü anlatırlar.

Her eşleşmenin bir güven düzeyi vardır. Yüksek güven, JSON'un aynı klasörde adıyla ya da title alanıyla bulunduğu anlamına gelir. Orta güven, daha zayıf bir kural gerektiğini ya da önceki bir basamağın çakışma gördüğünü gösterir. Önizleme her dosyanın yanında kuralı yazar; hiçbir şey yazılmadan orta güvenli olanları kontrol edebilirsiniz.

1. Kesilmiş adlar

Google JSON dosya adını 51 karakterle sınırlar; .json kesintiden sağ çıkar. Yeni .supplemental-metadata ekiyle sıradan bir telefon fotoğrafının adı bile sınırı aşar:

PXL_20230518_094936613.MP.jpg
PXL_20230518_094936613.MP.jpg.supplemental-met.json

PXL_20210812_071530021.jpg
PXL_20210812_071530021.jpg.supplemental-metada.json

Kural, ad + .json 51 karakteri aştığında adı kısaltan Google Photos Takeout Helper kaynak kodunda açıkça görülüyor. Google'ın ş, ğ, ı gibi Türkçe harfler ya da emoji içeren adlarda karakter mi bayt mı saydığı belgelenmemiş. Takeout Düzeltici bu yüzden küçük bir kesim aralığını kabul eder, ama yalnızca kısaltılmış ad beklenen adın gerçek bir başlangıcıysa, JSON aynı klasördeyse, içindeki title fotoğrafla çelişmiyorsa ve tam olarak tek bir JSON uyuyorsa. İki fotoğraf aynı kesilmiş JSON'u isterse ikisi de orta güvenli olarak işaretlenir. Fotoğrafın kendi adı da kesilmişse çifti bulmak için JSON'un title alanındaki tam özgün ad kullanılır.

2. Yer değiştiren sayaçlar

İki yükleme aynı adı taşıyorsa Google ikinci fotoğrafa bir sayaç ekler; JSON'da ise sayaç en sona, uzantının arkasına gider:

IMG_1234.jpg      ->  IMG_1234.jpg.supplemental-metadata.json
IMG_1234(1).jpg   ->  IMG_1234.jpg.supplemental-metadata(1).json
                      (eski dışa aktarımlarda: IMG_1234.jpg(1).json)

Basit bir eşleştirme IMG_1234(1).jpg dosyasını IMG_1234.jpg dosyasının JSON'uyla eşler ve iki farklı fotoğrafa aynı tarihi verir. Deneme dışa aktarımımızda bu ikisi yaklaşık altı hafta arayla çekilmişti. Düzeltici sayacı fotoğraf adından ayırır ve sayacı sonda taşıyan JSON'u hem eski hem yeni adlandırmada arar. Bu yüksek güvenli bir eşleşmedir. Takeout Helper kaynak kodu buna parantez takası diyor ve pek çok dosyada görüldüğünü not ediyor.

3. Düzenlenmiş kopyalar

Google Fotoğraflar'da bir fotoğrafı düzenlediyseniz Takeout orijinali ve ek almış bir düzenlenmiş kopyayı birlikte dışa aktarır; JSON'u yalnızca orijinal taşır:

IMG_20190614_183000.jpg
IMG_20190614_183000.jpg.supplemental-metadata.json
IMG_20190614_183000-edited.jpg            (kendi JSON'u yok)

Ek hesabın diline göre değişir: İngilizcede -edited, Almancada -bearbeitet, Fransızcada -modifié, İtalyancada -modificato, Felemenkçede -bewerkt, Lehçede -edytowane, Japoncada -編集済み. Türkçe arayüzün eklediği biçimi gerçek bir dışa aktarımla henüz doğrulamadık; araç -düzenlendi biçimini de tanıyor, ama bunu doğrulanmış saymıyoruz. Düzeltici bilinen bir eki ayırır, orijinalin JSON'unu aynı merdivenle bulur ve düzenlenmiş kopyaya aynı tarihi ve konumu verir. Bu eşleşme "düzenlenmiş kopya; orijinal fotoğrafın JSON'u kullanıldı" gerekçesiyle orta güvenli olarak işaretlenir. HEIC bir orijinalin JPG olarak kaydedilmiş düzenlemesi gibi farklı biçimdeki düzenlemeler de aynı yolla eşleşir.

Orta güvenli eşleşmelere süzülmüş önizleme: başka klasördeki title alanıyla eşleşen üç albüm kopyası (CROSS_FOLDER) ve bir düzenlenmiş kopya (EDITED), her birinin yanında yazılacak tarih ve saat farkı.
Deneme dışa aktarımımızın önizlemesinde Orta süzgeci: üç albüm kopyası ve bir düzenlenmiş kopya.

4. Başka bir arşivdeki JSON

Takeout boyuta göre böldüğü için bir fotoğraf -001.zip dosyasının sonuna, JSON'u ise -002.zip dosyasının başına düşebilir. Deneme dışa aktarımımızda Haziran 2019 fotoğraflarından ikisinin JSON'u ikinci parçada. Parçaları tek tek düzeltirseniz bu fotoğraflar tarihsiz çıkar. Düzeltici bütün parçaları birlikte dizinlediği için klasör yolu iki ZIP'te de aynıdır ve eşleşme sıradan bir birebir ad eşleşmesi olur. Google'ın indirme yardım sayfası büyük bir dışa aktarmanın birkaç arşive bölündüğünü anlatıyor; Takeout indirme rehberimiz eksik parçanın nasıl fark edileceğini gösteriyor. Numaralarda boşluk olduğunda ya da pek çok JSON'un fotoğrafı olmadığında düzeltici de uyarır.

Parçaları Takeout ve Takeout 2 gibi ayrı klasörlere açtıysanız klasör yolları artık uyuşmaz. O zaman merdivenin son basamağı, title alanı fotoğrafın adı olan bir JSON'u dışa aktarımın her yerinde arar ve yalnızca tek bir tane varsa kabul eder. Bu eşleşmeler orta güvenlidir. Albüm kopyaları da aynı yolla eşleşir; yukarıdaki Orta süzgecinde bu yüzden görünürler.

Canlı ve hareketli fotoğraflar

iPhone'dan gelen bir Canlı Fotoğraf, aynı adı taşıyan ama uzantısı farklı bir fotoğraf ve kısa bir video olarak gelir; Pixel ya da Samsung'un hareketli fotoğrafları da ayrı bir video parçası getirebilir. İkisi tek bir JSON'u paylaşır. Düzeltici eşini aynı klasörde bulur ve onun JSON'unu ikisi için de yüksek güvenle kullanır; fotoğraf ve video aynı tarihi alır.

Hiçbir şey eşleşmediğinde

Hiçbir kural tam olarak tek bir JSON bulamazsa düzeltici tahmin yürütmez. Sonra dosya adına bakar: pek çok kamera tarihi ve saati ada yazar, örneğin IMG_20190614_183000.jpg; bu, seçtiğiniz saat diliminde yerel saat olarak okunur, Pixel'in PXL_ adları ise UTC'dir. Bu tarihler düşük güvenli olarak işaretlenir. Deneme dışa aktarımımızdaki image(3).jpg gibi işe yarar bir adı olmayan dosya değiştirilmeden kopyalanır ve "Tarih bulunamadı" altında listelenir. Photos from 2019 gibi bir klasörün yılı raporda yazılır ama dosyaya hiçbir zaman yazılmaz, çünkü fotoğrafın ne zaman çekildiğinin kanıtı değildir. Geriye ne kaldığını görmek için önizlemeden tarihsiz dosyaların CSV'sini indirin.

Bu sürümde neyin yazılacağı biçime de bağlıdır. JPEG fotoğraflarda ve MP4 ile MOV videolarda tarih dosyanın içine yazılır; JPEG'lere konum ve isterseniz açıklama da eklenir. HEIC, PNG ve WebP değiştirilmeden kopyalanır; tarihleri ZIP içindeki dosya tarihine ve set-dates betiklerine yazılır. GIF, BMP ve RAW dosyalarının içine hiçbir zaman tarih yazılmaz. Dosyada zaten kamera tarihi varsa, değiştirmeyi seçmedikçe korunur.

Sonraki adımlar

Dışa aktarımınızın bütün parçalarını Google Takeout Düzeltici'ye ekleyin ve orta güvenli eşleşmeleri önizlemede gözden geçirin. Tarama ve önizleme ücretsizdir, her işte 25 dosya ücretsiz yazılır; daha büyük işleri mevcut planlar karşılar. Adım adım anlatım Google Takeout fotoğraf tarihlerini düzeltme rehberinde; JSON'daki alanları Google Fotoğraflar Takeout'unda ne olduğunu anlatan yazı açıklıyor. Immich'e geçmeyi düşünüyorsanız Immich rehberi bunu, benzer kuralları yükleme sırasında uygulayan immich-go ile karşılaştırıyor.

Sık sorulanlar

supplemental-metadata.json dosyası nedir?

Yeni Google Fotoğraflar Takeout'larında bir fotoğraf ya da videonun JSON yan dosyasıdır. Özgün dosya adını, çekim zamanını, yükleme zamanını, konumu ve açıklamayı taşır. Eski dışa aktarımlarda aynı dosyanın adı fotograf.jpg.json idi.

JSON dosyamın adı neden supplemental-met.json ile bitiyor?

Google JSON dosya adlarını .json korunarak 51 karakterde keser; uzun bir fotoğraf adı supplemental-metadata ekinin sonunu dışarıda bırakır. JSON'un içeriği eksiksizdir, yalnızca adı kısalmıştır.

IMG_1234(1).jpg neden yanlış tarih alıyor?

JSON'unun adı sayacı sonda taşır: IMG_1234.jpg.supplemental-metadata(1).json ya da IMG_1234.jpg(1).json. Bu takası bilmeyen bir araç ona IMG_1234.jpg dosyasının tarihini verir.

Düzenlenmiş kopyaların kendi JSON'u var mı?

Hayır. IMG_1234-edited.jpg gibi dosyalar orijinalin JSON'unu paylaşır. Bir düzeltici onu bulmak için hesabın diline göre değişen eki ayırmak zorundadır.

Bir fotoğrafın JSON'u başka bir ZIP'teyse ne olur?

Bütün parçaları birlikte ekleyin. Birlikte dizinlendiklerinde klasör yolları örtüşür ve JSON aynı arşivdeymiş gibi bulunur.

Yazıda kullanılan araçlar

Kaynaklar

YöntemGörsel kaynakları