1

当用户通过 Facebook 注册我的应用程序时,我想显示他管理的所有页面。

这就是我从 FB API 保存数据的方式:

  def self.create_user_from_facebook(auth_hash)
    self.create({
      :facebook_uid => auth_hash["uid"],
      :name => auth_hash["info"]["name"],
    })
  end

这里我如何尝试打印出页面列表:

 - fbpages(@user).each do |page|
    = f.label :fbpage, value: page.identifier, :class => 'radio' do
      = f.radio_button :fbpage, page.identifier
      = link_to page.name, page.link, target: '_blank'

fbpages方法:

def fbpages(user)
    if user.fbtoken.present?
      begin
        fbpages = FbGraph::User.me(user.fbtoken).accounts
      rescue
        user.update_attribute(:fbtoken, nil)
        fbpages = nil
      end
    end
  end

fbtokenaccess_token。但是我怎样才能得到这个令牌?我试图打印出方法中包含的内容auth_hashcreate_user_from_facebook但我没有看到access_token

我究竟做错了什么?

4

1 回答 1

0

您可以在FBGraph页面上看到:

// code is set
// we'll send that and get the access token
graph.authorize({
    "client_id":      conf.client_id
  , "redirect_uri":   conf.redirect_uri
  , "client_secret":  conf.client_secret
  , "code":           req.query.code
}, function (err, facebookRes) {
  res.redirect('/UserHasLoggedIn');
});

code包含在用户登录您的 Facebook 应用程序后获得的重定向 url 的参数中。一旦你得到这个code,你就可以使用这个样本。

于 2013-02-20T00:20:22.420 回答