1

我正在尝试使用 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

4 回答 4

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)

恕我直言...

于 2015-09-29T10:50:35.143 回答
1

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

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

@graph.get_object('search?q=YOUR_QUERY&type=page')
于 2016-05-05T09:26:52.367 回答
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")

在此处查看类似的问题和答案

于 2016-04-18T14:18:09.957 回答
0

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

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

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

于 2016-12-01T05:08:09.267 回答