Facebook图形API在从2.3升级到2.4后返回不完整的对象

时间:2017-03-01 15:47:53

标签: facebook facebook-graph-api koala-gem

我正在尝试升级我的Facebook GraphAPI版本。我正在使用koala gem,这只有在从api v2.3升级到更高版本时才会发生。

使用v2.3,我发出以下请求并得到以下响应:

@graph = Koala::Facebook::API.new(fb_resp["access_token"])
fb_user = @graph.get_object("me")
# v2.3 response
{
"id"=>"10974014220671",
"email"=>"pam_lipnhdj_west@tfbnw.net",
"first_name"=>"Pam",
"gender"=>"female",
"last_name"=>"West",
"link"=>"https://www.facebook.com/app_scoped_user_id/109740146220671/",
"locale"=>"en_US",
"name"=>"Pam West",
"timezone"=>0,
"updated_time"=>"2017-03-01T14:53:49+0000",
"verified"=>false
}

#v2.4 response
{"name"=>"Pam West", "id"=>"10974014220671"}

我查看了Facebook changelog,似乎没有对“我”端点进行任何更改。

任何想法在哪里查看或者这可能是考拉的问题?我正在使用gem "koala", "~> 2.4"

1 个答案:

答案 0 :(得分:3)

自v2.4起,您必须在请求中包含您要查找的字段。

  

过去,Graph API调用的响应返回了一组默认字段。为了减少有效负载大小并改善移动网络的延迟,我们减少了大多数Graph API调用返回的默认字段数。在v2.4中,您需要以声明方式列出呼叫的响应字段。

因此,在您的情况下,您必须将<{1}}替换为

@graph.get_object("me")