我一直试图从 Freebase API 获取主题信息。无论如何,这主要是一个 Ruby Faraday 问题。
注意有两个 &filter。使用我的网络浏览器可以正常工作。但是,在 Ruby 上执行以下任一操作时:
response = Faraday.get 'https://www.googleapis.com/freebase/v1/topic/m/02676m4', {
'limit' => 20,
'filter' => ['/film/film_series/films_in_series', '/common/topic/article'],
'key' => 'my_key_here'
}, { 'Accept' => self.Headers_Accept }
或者...
response = Faraday.get 'https://www.googleapis.com/freebase/v1/topic/m/02676m4', {
'limit' => 20,
'filter' => '/film/film_series/films_in_series&filter=/common/topic/article',
'key' => 'my_key_here'
}, { 'Accept' => self.Headers_Accept }
或者...
response = Faraday.get 'https://www.googleapis.com/freebase/v1/topic/m/02676m4?limit=20&filter=/film/film_series/films_in_series&filter=/common/topic/article&key=my_key_here', {}, { 'Accept' => self.Headers_Accept }
然后过滤器被 API 忽略。关于我的主题的每一条信息,我都会得到巨大的回应。
您可以通过执行不带过滤器的查询来复制结果: https ://www.googleapis.com/freebase/v1/topic/m/02676m4?limit=20
问题: 任何人都可以想出为什么我通过法拉第遇到这个问题的原因,但直接通过我的浏览器访问时却没有?
额外提示: 如果我只对法拉第请求使用一个过滤器,它就可以正常工作。但我真的需要使用多个过滤器。
Freebase 主题 API: http ://wiki.freebase.com/wiki/Topic_API
谢谢!