如何用考拉搜索页面

时间:2015-09-29 10:13:55

标签: ruby facebook koala koala-gem

我正在尝试使用Koala gem来搜索facebook页面,就像这样

@graph.get_connection('search', movie_name)

但我得到了这个/Users/luizeduardo/.rbenv/versions/2.2.3/lib/ruby/2.2.0/uri/generic.rb:1100:in rescue in merge': bad URI(is not URI?): /search/Jurassic World (URI::InvalidURIError)

好像我使用了错误的方法或者这是不可能的

4 个答案:

答案 0 :(得分:1)

看看

  

您还可以搜索您选择的关键字的用户/网页/活动/群组:

# http://graph.facebook.com/search?q=koala&type=place
@graph.get_connection('search', type: :place)
# => [{"category"=>"Attractions/things to do", ...
#     "name"=>"Maru Koala & Animal Park"}]}

在你的情况下,这意味着

@graph.get_connection('search', type: :page)

... IMHO

答案 1 :(得分:0)

您使用get_connection似乎是对公共页面数据进行常规搜索的错误方法。 get_connection更多地与FB朋友网络有关。要更详细地了解Koala将调用哪些API,请查看代码,其中包含描述每种方法如何工作的良好注释。对于常规API图调用,您只需使用graph_call方法。

https://github.com/arsduo/koala/blob/master/lib/koala/api/graph_api.rb

您应该能够使用graph_call方法,并将您想要的任何api调用作为字符串中的单个参数传递。

fb = Koala::Facebook::API.new(ENV['FACEBOOK_CLIENT_TOKEN'])
lookup = fb.graph_call("search?q=star%20wars%20movie&type=page")

see similar question and answer here

答案 2 :(得分:0)

get_connection也为我抛出了同样的错误(也许是因为v2.6?)。

无论如何,我发现解决方案有效:

@graph.get_object('search?q=YOUR_QUERY&type=page')

答案 3 :(得分:0)

Koala Wiki应该这样说: @graph.search('koala', type: :place)

而不是这个: @graph.get_connection('search', type: :place)

希望能让您更接近解决方案。