6

在六周左右的时间里,我们已经能够毫无问题地对 iTunes 搜索 JSON API 执行查询。从本周开始,我们开始在一定数量的请求(大约 1K - 2K)后看到 403 错误。我们假设这是一个限速问题,也许是他们实施的一项新政策。我们忽略了另一种解释吗?

4

2 回答 2

14

当您正在寻找价格和收视率时,我的猜测是您正在使用 iTunes 搜索 API 进行查找,而不是搜索。

如果该假设成立,那么您可以通过在查询中列出多个 ADAM ID(用逗号分隔它们)来“批量”查找请求。

例如。要在美国获得这两个应用程序的结果——

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

- 你会这样做: https ://itunes.apple.com/us/lookup?id=491221570,530061728

我相信每个查询的限制是 50 个 id。

如果 App Store 中目前有大约 900K 的应用程序,一些快速的数学计算表明,在批处理之前,如果您将请求均匀分布,您将执行约 625 次查询/分钟。(900K / 24 小时 / 60 分钟 == 625)

但是,如果您以 50 个为一组进行批处理,那么您将看到大约 13 个查询/分钟(每个请求 900K/50 个/24 小时/60 分钟 == 12.5)。这应该在允许的范围内。

...@Crashalot - 如果您正在做应用推荐,那么我们应该谈谈。

于 2013-06-10T16:08:28.673 回答
1

我不相信有任何公布的速率限制,但我认为假设它们确实存在是相当安全的。您正在运行的 1-2k 请求的时间尺度是多少 - 分钟、小时、天?

Apple 确实建议您实施缓存以防止不必要的查询。如果您还没有这样做,那么您可能应该调查一下。另一种选择是使用企业合作伙伴提要,尽管您需要成为 iTunes 会员才能获得访问权限。

于 2013-06-06T08:36:48.277 回答