gpt4 book ai didi

ruby-on-rails - 使用 Rails 3 + OmniAuth + FBGraph 从 facebook 添加 friend

转载 作者:行者123 更新时间:2023-12-04 06:11:08 24 4
gpt4 key购买 nike

我目前正在尝试为我们的注册系统编写一个添加 friend 的步骤,并且我被要求实现类似于foursquare 工作方式的东西。

它从 Facebook 上拉下你的 friend ,检查他们中是否有任何人已经在 Foursquare 网站上,然后询问你是否想与他们联系。

实现这种功能的最佳方法是什么?

我已经看过 FB JS SDK 的示例,但是我更喜欢更集成的方法。

谢谢
亚当

最佳答案

我发现的最好方法是使用带有 oauth 和 fb_graph gem 的设计(如指定的 herehere )。我的版本有问题,所以我的 gemfile 配置如下所示:

gem 'devise', :git => 'git://github.com/plataformatec/devise.git'
gem 'omniauth', '>=0.2.0.beta'
gem 'oa-oauth', :require => 'omniauth/oauth'
gem 'fb_graph'

(我的配置很旧 - 设计最新分支现在可能以更开箱即用的方式支持 omniauth)。

我的设计初始化程序:
config.omniauth :facebook_publish, "APP_ID", "APP_SECRET"

在您的用户模型中:
devise :omniauthable


def self.find_for_facebook_oauth(access_token, signed_in_resource=nil)
data = access_token['extra']['user_hash']
if user = User.find_by_email(data["email"])
user
else # Create a user with a stub password.
User.create(:email => data["email"], :password => Devise.friendly_token[0,20])
end
end

为了 facebook 连接 - 转到路径:
user_omniauth_authorize_path(:facebook)

基本上,这就是连接所需的全部内容。为了获得我现在使用的图表:
 facebook_user = FbGraph::User.new('me', :access_token => access_token['credentials']['token']).fetch

而对于 friend 们:
facebook_user.friends

就是这样。希望能帮助到你。

关于ruby-on-rails - 使用 Rails 3 + OmniAuth + FBGraph 从 facebook 添加 friend ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com