2

我使用 Devise、Omniauth 和 Koala 构建了一个 rails 应用程序。有了这个,我已经能够拉下所有当前用户的朋友:

  @graph = Koala::Facebook::GraphAPI.new(@token)
  @friends = @graph.get_connections("me", "friends")

我已经能够获得当前用户的关系状态:

  @graph = Koala::Facebook::GraphAPI.new(@token)
  @relationship = @graph.get_object("me")

我无法弄清楚的是如何为当前用户的所有朋友拨​​打电话,其中还包括他们的关系状态。我想我需要在 get_connections("me", "friends") 调用中包含一些增量参数/参数,但我不知道增量参数参数是什么。

在我的 config/initializers/omniauth.rb 文件中,我在 Facebook 范围内包含以下内容:

{:scope => 'publish_stream,offline_access,email,user_relationships,friends_relationships'}

对这个特定的考拉问题有什么帮助吗?是否有任何地方的列表显示了一系列不同的考拉示例以及如何使用它来对 Facebook 数据进行各种不同的调用?

提前致谢!

4

2 回答 2

2

你需要先获得许可

redirect_to session['oauth'].url_for_oauth_code(:permissions=>'friends_relationships')   
@graph.get_connections('me','friends',:fields=>"name,gender,relationship_status")
于 2011-12-21T08:27:04.673 回答
1
@graph.fql_query("select uid, relationship_status from user where uid in (select uid2 from friend where uid1 = me())"

拨打 fql 电话。它们在大量使用时要快得多。

于 2012-12-28T19:47:16.050 回答