【问题标题】:Find out if a user is friends with exactly one other user using Graph API使用 Graph API 确定用户是否与另一位用户成为朋友
【发布时间】:2012-02-14 10:37:33
【问题描述】:

我想知道用户 A 是否是用户 B 的朋友,但我不想要用户 A 的整个朋友列表。有没有办法,使用 Koala / Graph API 只需使用用户 B 的 Facebook ID 就可以简单地找出用户 A 是否是用户 B 的朋友?

【问题讨论】:

  • 感谢大家的回答。我最终选择了两者的组合: Koala::Facebook::GraphAPI.new(oauth_access_token).get_connections(user1_id, "friends/#{user2_id}").empty?

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


【解决方案1】:

您可以使用https://graph.facebook.com/me/friends/{朋友的用户名}

如果他们是朋友,它将返回 ID 和名称,如果不是空数组。

【讨论】:

  • 谢谢安迪!我昨晚想通了,并没有更新问题。我无法在 Koala 中找到这种方法(因为没有关于 args 参数的文档),但它可能适用。
  • 说真的,它不起作用。即使用户是朋友,它也会在data 中返回始终为空的数组。它会返回我朋友的总数。
【解决方案2】:

这可以通过 FQL 轻松完成。

query = "SELECT uid2 FROM friend WHERE uid1=me() and uid2=FRIEDS ID HERE"

@rest = Koala::Facebook::API.new(oauth_access_token)
# in 1.1 or earlier, use RestAPI instead of API

@rest.fql_query(query) # convenience method

如果你附加一个访问令牌,你可以在这里测试它。

https://graph.facebook.com/fql?q=SELECT uid2 FROM friend WHERE uid1=me() and uid2=123456

您还可以使用以下方法同时检查多个:

SELECT uid2 FROM friend WHERE uid1=me() and uid2 in (123,1234)

【讨论】:

  • 感谢加兹勒。我最终使用了以下调用: Koala::Facebook::GraphAPI.new(oauth_access_token).get_connections(user1_id, "friends/#{user2_id}").empty?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多