法拉第 - 对Freebase API的多个GET参数请求

时间:2012-12-28 18:00:28

标签: ruby freebase faraday

我很难尝试从Freebase API获取主题信息。无论如何,这主要是Ruby法拉第问题。

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

注意有两个&过滤器。使用我的网络浏览器可以正常工作。但是,在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

谢谢!

1 个答案:

答案 0 :(得分:0)

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