确定用户是否是facebook好友(解析)



我想知道当前用户是否是使用Koala的根节点用户的朋友,如果是,打印一条声明说:你是朋友。我的问题是分析从facebook返回的数据。

user.rb

def facebook
  @facebook ||= Koala::Facebook::API.new(oauth_token)
  block_given? ? yield(@facebook) : @facebook
rescue Koala::Facebook::APIError => e
  logger.info e.to_s
  nil # or consider a custom null object
end
def facebook_friend
  facebook.get_connection("me", "friends/#user.user_id")
end

Profile.html.erb

<% if current_user.facebook_friend.include?(@user.uid)? %>
  <p> you are friends</p>               
<% else %>
  <p> you are not friends</p>   
<% end %>

输出:

<%= current_user.facebook_friend %>

将返回:[{"name"=>"Elizabeth","id"=>"100008217009369"}]

<%= @user.uid %>

将返回:100008217009369

谢谢!!!

这比我想象的要容易得多:在用户模型中简单使用考拉方法:

def facebook_friend(user)
  facebook.get_connection("me", "friends/#{user.uid}")
end
def my_friends_list
  facebook.get_connection("me", "friends")
end

然后在概要文件视图中,添加current_user和@user作为参数:

<% if @user.uid.present? %>
  <% if signed_in? && current_user == @user %>
    <p><%= current_user.my_friends_list.count %> friends</p>
  <% elsif current_user.facebook_friend(@user).empty? %>
    <p><%= current_user.mutual_friends.count %> friends in common</p>
  <% else %>
    <p>You are Facebook friends</p>
  <% end %>
<% else %>
  <p>Not connected</p>
<% end %>   

相关内容

  • 没有找到相关文章

最新更新