【问题标题】:get Facebook friends using same app in Ruby on Rails在 Ruby on Rails 中使用相同的应用程序获取 Facebook 朋友
【发布时间】:2012-08-06 09:11:51
【问题描述】:

我已经在我的 ruby​​ on rails 网站上通过 Facebook 对用户进行了身份验证。我有访问令牌。 该网站/应用程序已在 Facebook 上注册。 我的下一步是向通过 Facebook 登录应用程序的用户的朋友展示使用相同应用程序的用户。 基本上:如果我是某个应用的用户 A,并且我通过 Facebook 登录该应用,我应该能够看到我所有使用该应用的朋友。

我想我可以使用:https://graph.facebook.com/me/friends?access_token=....../api/ 但是以这种形式返回朋友,我不明白如何使用这些数据来比较我的网站数据库中的 ID,然后显示使用这个应用程序的人。

感谢您的帮助。

【问题讨论】:

  • 我在图形 API 上得到了这个列表,但在我的应用程序上没有。你是怎么得到的?

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


【解决方案1】:

您应该将 Facebook ID 与您的网站使用的内部 ID 一起记录,然后使用集合的重叠。

你在 db 中添加一列来存储 facebook id,比如 fb_id,然后做

ids = res['data'].map { |obj| obj['id'] }
User.where(:fb_id => ids)

据我所知,ActiveRecord 将使用“IN (..)”作为数组传递的列。

【讨论】:

  • 是的,我明白其中的逻辑。但它的编程部分给我带来了问题。 1)如何将这些数据存储在任何变量中? 2) 我如何比较?
  • 嗨罗曼,感谢您的回答。这很好,只是提前了一步。我复制粘贴了链接以找到它。但是在代码上,我是否写: res['data'] = graph.facebook.com/me/friends?access_token=....../api 当我这样做时,它给了我未定义的局部变量或方法 `res' for #:0x007ffd1b20f970> 对不起我很麻烦,对 ruby​​ on rails 很陌生。你不知道这会有多大帮助。
  • "res" 是您在帖子中发布的数据结构
  • 使用考拉宝石:friends =Koala::Facebook::API.new(token).get_connections('me', 'friends')
  • 哦,好吧。当我在域空间上有该链接时,我已经从浏览器复制粘贴了该链接。我试过了:graph.facebook.com/me/…' %> ids) %> 仍然给我未定义的局部变量或方法 `res' for #:0x007ffd18aacba8> 再次抱歉基本问题跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多