0

我一直试图从 Freebase API 获取主题信息。无论如何,这主要是一个 Ruby Faraday 问题。

所以我在以下路径请求: https ://www.googleapis.com/freebase/v1/topic/m/02676m4?limit=20&filter=/film/film_series/films_in_series&filter=/common/topic/article

注意有两个 &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

谢谢!

4

1 回答 1

0

这听起来很像这个拉请求修复的法拉第错误:https ://github.com/technoweenie/faraday/pull/199

于 2012-12-28T18:53:38.453 回答