ruby-on-rails - 如何使用 Koala gem 获取 Facebook 用户的图片?

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

我正在尝试使用以下方法获取 Facebook 用户 friend 的图片
他们的 facebook id,但使用以下代码返回 nil
图片网址...

我使用的代码如下:

picture_url = @user.get_picture("1000000111")

其中@user 是使用 Facebook 制作的图形 API 对象
验证...

这段代码缺少什么?提前致谢。

最佳答案

在 ruby​​ on rails 中获取所有 facebook 好友图片。你可以使用考拉 gem
https://github.com/arsduo/koala

它有很好的解释

要获得 facebbok friend ,您可以使用

@graph = Koala::Facebook::API.new(oauth_access_token)
friends = @graph.get_connections("me", "friends")
friends.each do |f|
  f[:image]= @graph.get_picture(f["id"])
end

但是这种方法会花费太多时间,因为您必须为每个 friend 发送请求。

为了避免这种情况,您可以使用考拉支持的 REST API,
@rest = Koala::Facebook::API.new(oauth_access_token)
@rest.fql_query(my_fql_query) 
@rest.fql_multiquery(fql_query_hash) # convenience method

要编写 Fql 查询,您可以使用 Facebook 表结构,您可以在 http://developers.facebook.com/docs/reference/fql/ 找到该表结构。

要获得 Facebook uid , name 和 pic 你可以使用这个..
@rest.fql_query("select uid, name, pic_square from user where uid in (select uid2 from friend where uid1 = me())")

关于ruby-on-rails - 如何使用 Koala gem 获取 Facebook 用户的图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367454/

相关文章:

ruby-on-rails - 查询 Postgres 数组列类型

ruby-on-rails - Rails 命名为routes + Controller 作为参数

facebook-graph-api - 打开图 : How do I create custom objects and associate custom actions with them?

Android Facebook 分享按钮再次要求输入密码

facebook - PHP/图形API : Possible to save variable value to users profile from my Facebook web app?

ruby-on-rails - 如何在 Rails 中的渲染 Action 中传递参数

ruby-on-rails - Rails 5 升级 : routes. rb 文件已清除

android - 如何使用 facebook SDK for android 获取用户生日和在线状态

javascript - 使用 Facebook Javascript SDK 获取图表数据

ruby-on-rails - 处理完请求后杀死 puma 线程