2017-03-01 9 views
2

Facebook GraphAPIバージョンをアップグレードしようとしています。私はkoala gemを使用しています。これは、api v2.3からそれ以上のものにアップグレードする場合にのみ発生します。 V2.3で2.3から2.4へのアップグレード後にFacebookグラフAPIが不完全オブジェクトを返す

私は、次の要求を行うと、次の応答を得る:私はFacebookのchangelogで見てきたし、「私」のエンドポイントに変更があるように表示されません

@graph = Koala::Facebook::API.new(fb_resp["access_token"]) 
fb_user = @graph.get_object("me") 
# v2.3 response 
{ 
"id"=>"10974014220671", 
"email"=>"[email protected]", 
"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"} 

を。

見た目はどこですか?また、これがコアラの問題かもしれませんか?私は使用していますgem "koala", "~> 2.4"

答えて

3

v2.4以降、あなたの要求にあなたが探しているフィールドを含める必要があります。

これまで、Graph API呼び出しからの応答では、一連のデフォルトフィールドが返されていました。ペイロードサイズを減らし、モバイルネットワーク上の待ち時間を改善するために、ほとんどのGraph API呼び出しで返されるデフォルトフィールドの数を減らしました。 v2.4では、呼び出しの応答フィールドを宣言的にリストする必要があります。

だからあなたの場合には、あなたはとても簡単な例は、あなたが使用している場合そうのようなAPIに対してクエリを行うことができるようにすることを意味するであろう

@graph.get_object("me", { fields: [:id, :email, :first_name, :gender, :last_name, :link, :locale, :name, :timezone, :updated_time, :verified]}) 
+0

@graph.get_object("me")を交換する必要があります: 'ます。https://graph.facebook.com/v2.3/m_mid.SOME_ID'の場合、返されるフィールドに 'https://graph.facebook.com/v2.4/m_mid.SOME_ID?fields=添付ファイル 'あなたの応答に' attachments'フィールドを戻します。 –

関連する問題