在我的PHP应用程序中,我从用户输入他喜欢的电影,然后我查询主题API以检索每部电影的详细信息。
有没有办法批量调用,这样我就不必多次发出http请求了?例如,如果用户输入10个电影名称,是否可以制作单个http请求以检索所有10个电影的信息,或者我应该进行10个API调用 - 每个电影一个?后一种方法严重影响了我申请的速度。
答案 0 :(得分:1)
我看到了几种不同的可能性:
您可以并行启动多个主题API请求。没有规则说他们必须按顺序完成。这会大大减少延迟。
您可以使用Freebase前面的缓存来在本地存储最近提取的结果。这可能是一个独立于其他任何事情的好主意,并且会大大减少缓存结果的往返时间。
您可以使用Google API提供的HTTP Batch工具在一个用户处发出多个请求。我不是100%确定它适用于Topic API,但我知道它适用于MQLread,所以也许你转换为使用它。
Search API可以使用与Topic API大致相同的形式返回结果,并且可以使用多个ID,因此您可以执行以下操作:https://www.googleapis.com/freebase/v1/search?indent=true&filter=%28any+mid:/m/0dtfn%20mid:/m/0ddjy%29&output=(all:/film)&indent=true
答案 1 :(得分:0)
主题API让您将主题的ID放在路径中,这会将其限制为每次调用一个主题。有些语言API会传递一个id列表,但它们只会接受一个包含一个主题的列表。