0

我正在开发一个与 Facebook 进行大量通信的 Rails 应用程序。这个概念是用户可以上传图像,并且会有一种带有这些图像缩略图的画廊和一个“喜欢计数”指示器。我正在使用koala宝石。

我成功地将图像发布到我的墙上,如下所示:

  if current_user && session[:fb_token]
    @user_graph = Koala::Facebook::API.new(session[:fb_token])
  end
  @user_graph.put_picture(@post.photo.url)

在我的_post.html.erb我做这样的事情:

<div class="fb-like left_float" data-href="<%= post.photo.url %>" data-send="false" data-layout="button_count" data-width="170" data-show-faces="false" data-font="segoe ui"></div>

如果我只包含来自 facebook 的这个 html 片段,我不会得到正确的结果,因为它指向同一个上传的图像,而不是之前创建的帖子。我想我需要我之前创建的 Facebook 帖子中的某种 post_id 吗?

有任何想法吗 ?

更新

put_picture 方法返回以下内容:

id: '109668002508542'
post_id: '100003960282996_109668032508539'

但是当我使用http://graph.facebook.com/109668002508542或检查这些 ID 时

@user_graph.get_object('109668002508542')

我没有得到任何信息,没有喜欢,只是一个“假”

4

1 回答 1

1

那么,您是否希望统计您上传的照片的点赞数?你不应该为此使用like按钮。您可以使用该get_connections方法来检索页面的点赞数。尝试类似的东西

<div>
  <%= @user_graph.get_connections(@the_post_id_from_put_picture, "likes") likes
</div>

请记住确保您具有访问对象的正确权限。使用 Koala 中的 OAuth 流程检查您的权限https://github.com/arsduo/koala/wiki/OAuth

于 2012-06-18T13:52:30.450 回答