Koala gem get_object返回GraphMethodException

时间:2016-02-27 20:45:12

标签: ruby-on-rails facebook facebook-graph-api koala koala-gem

我正在使用Koala gem来获取Facebook帖子上的指标(喜欢,评论和分享)。我几个月没有触及考拉代码,但突然停止工作。我能得到喜欢和评论,但不能分享。我检查了文档中的gem以及GitHub上的问题,并没有看到任何与我的问题相关的内容。不确定这是我的代码还是宝石或Facebook的API的更改。

我有以下方法,由另一个方法调用,该方法负责更新帖子上的所有指标。

def call_facebook_api(client, method, pid, metric)
    resp = client.method(method).call(pid, metric)
rescue Koala::Facebook::ClientError => e
    puts "Rescue from #{e}"
    puts "Method: #{method}"
    puts "Metric: #{metric}"
    puts "Post ID: #{pid}"
    return nil
end

以下是方法参数的一些示例值:

client
=> #<Koala::Facebook::API:0x007fbbfdf25dd0 @access_token="super_secret",@app_secret="super_duper_secret">
method
=> :get_object
pid
=> "202001613484188_1142111705834093"
metric
=> {:fields=>["shares"]}

当我使用这些输入运行上述方法时,它会返回以下错误:

Koala::Facebook::ClientError: type: GraphMethodException, code: 100, message: Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api [HTTP 400]
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/koala-2.2.0/lib/koala/api/graph_api.rb:515:in `block in graph_call'

我也尝试了以下组合失败:

client.get_object(pid)
client.get_object(pid, fields: ['shares'])
client.get_object(pid, 'shares')
client.get_object("#{pid}/sharedposts")
client.get_object("#{pid}?fields=sharedposts")
client.get_object("#{pid}?fields=shared")
client.get_object("#{pid}?fields=shares")
client.get_connections(pid)
client.get_connections(pid, 'shares')
client.get_connections("#{pid}/sharedposts")

引用Graph API文档并没有给我任何关于问题的新见解。

正如我之前所说,我几个月没有触及上述代码,但它最近才停止工作。我最近将我的Rails应用程序从4.06升级到4.2.5.1。我也从Ruby 2.0.0升级到2.3.0。我没有升级考拉宝石。我已经运行了2.2.0(最新版)。

0 个答案:

没有答案