我正在尝试使用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)
好像我使用了错误的方法或者这是不可能的
答案 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")
答案 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)
希望能让您更接近解决方案。