2013-06-06 8 views
6

Altı hafta boyunca, iTunes arama JSON API'sı ile ilgili sorguları sorunsuz bir şekilde yürütebildik. Bu haftadan itibaren, belirli sayıda talep sonrasında (yaklaşık 1K - 2K) 403 hataları görmeye başladık. Bunun, hız sınırlayıcı bir konu olduğunu, belki de uyguladıkları yeni bir politika olduğunu varsayarız. Baktığımız başka bir açıklama var mı?iTunes search JSON API'sı 403 numaralı sunucuda yasaklandı

+0

Ayrıca, 4 Haziran'dan başlayarak Apple iTunes RSS beslemesinden 403 numaralı kitleyi deneyimledik, bunun WWDC – tszming

cevap

14

Fiyat ve puan almak istediğiniz için benim tahminim, iTunes Search API ile bir arama değil, bir arama yapıyor olmanızdır.

Bu varsayım doğruysa, sorguda birden çok ADAM Kimliği listeleyerek virgülle ayırarak arama isteklerini "toplu işleyebilirsiniz". Örn.,

örn. ABD'de bu uygulamalardan her ikisi için sonuçları almak için -

https://itunes.apple.com/us/app/9-innings-2013-pro-baseball/id530061728?mt=8

https://itunes.apple.com/us/app/homerun-battle-2-free/id491221570?mt=8

- Bunu yapacağını: https://itunes.apple.com/us/lookup?id=491221570,530061728

ben sınırı sorgu başına 50 kimlikleri olduğuna inanıyoruz .

approximately 900K apps currently live in the App Store varsa, bazı hızlı matematik, isteme işlemlerinizi eşit bir şekilde dağıttığında, toplu işlenmeden önce ~ 625 sorgu/dakika yapacağınızı gösterir. (900K/24 saat/60 dakika = 625)

Ancak, bunları 50'li gruplar halinde topluyorsanız, yaklaşık 13 sorguya/dakikaya bakıyorsunuz: (istek başına 900 K/50/24 saat/60 dakika = = 12.5). Bu izin verilen sınırlar içinde iyi olmalıdır.

... @ Crashalot - Eğer uygulama önerileri yapıyorsanız, o zaman konuşmalıyız.

+0

Bu gerçekten iyi bir strateji gibi geliyor, bunu da denemek zorundayım. –

+2

Bu sınır aslında sorgu başına 200'dür, ancak 403 sorunu bununla ilgili değildir. 403 hatası, tek bir kimlikle yapılan sorgular için bile geri döndü, Apple, arama API'sı – Cat

+0

için yapılabilecek HTTP isteklerinin sayısıyla ilgili daha sıkı kurallar uygulayabilir. Bu soruna yeni girdiğimde, sorgu başına yalnızca 200 kimlik kabul ediyorlar ve yalnızca Limitini aşmaması gereken Apple sunucusuna 5000 sorgu göndermek zorunda. – benck

1

oranında yayınlanmış olan herhangi bir yayın oranına sahip olduğuma inanmıyorum, ancak bunların var olduğunu varsaymak oldukça güvenli. Çalıştığınız 1-2k istek için zaman çizelgesi nedir - dakikalar, saatler, günler?

Apple, gereksiz sorguları önlemek için önbelleklemeyi uygulamanızı önerir. Bunu zaten yapmıyorsanız, muhtemelen buna bakmalısınız. Başka bir seçenek de, erişim kazanmak için iTunes üyesi olmanız gerekmesine rağmen, enterprise partner feed'u kullanmaktır.

+0

ile ilgili olup olmadığından emin değiliz. Mümkün olduğunda kesinlikle önbellek alıyoruz, ancak ihtiyacımız olan şeylerden biri, uygulamanın fiyatıdır ve günlük olarak değişebilir. kontrol etmenin tek yolu, her uygulamanın her bir fiyatını almaktır. Bizim için başka bir seçenek görüyor musunuz? Teşekkürler! – Crashalot

+0

@Crashalot - yükü birkaç saatte yaymayı denediniz mi? Bütün isteklerinizi her gün aynı anda mı patlatıyorsunuz? –

+0

Merhaba @TedHosmann. İnsanların indie devlerden harika uygulamaları keşfetmelerine yardımcı olmaya çalışıyoruz - mutlaka en popüler olanları değil. itunes üyesi grupta çalıştığınızı ve girişinizi seveceğinizi görebiliyoruz. Derecelendirme verileri almak için yaptırım yolu nedir? EPF dosyalarında yok. yalnızca JSON API'sine başvuruyoruz çünkü bu, derecelendirme verilerini almanın tek yolu gibi görünüyor. yükü birkaç saat boyunca dağıtabiliriz ya da komut dosyası verildiyse, derecelendirme verilerinin alınması için onaylanan yol buysa değiştirebiliriz. – Crashalot