Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails+OmniAuth Facebook:如何获取访问令牌?_Ruby On Rails_Ruby_Facebook_Omniauth_Access Token - Fatal编程技术网

Ruby on rails Rails+OmniAuth Facebook:如何获取访问令牌?

Ruby on rails Rails+OmniAuth Facebook:如何获取访问令牌?,ruby-on-rails,ruby,facebook,omniauth,access-token,Ruby On Rails,Ruby,Facebook,Omniauth,Access Token,我正在尝试从Facebook获取好友列表。通过Facebook登录并不是一个问题,但问题是如何获取该人的朋友——因为访问令牌 问题出在第4行-在这种情况下,我得到了错误 OAuthException :: An access token is required to request this resource. 当我把这样的东西放在那里: @fb_user = FbGraph::User.fetch(request.env["omniauth.auth"].credentials.token)

我正在尝试从Facebook获取好友列表。通过Facebook登录并不是一个问题,但问题是如何获取该人的朋友——因为访问令牌

问题出在第4行-在这种情况下,我得到了错误

OAuthException :: An access token is required to request this resource.
当我把这样的东西放在那里:

@fb_user = FbGraph::User.fetch(request.env["omniauth.auth"].credentials.token).friends
client.authorization_code = params[:code] 
access_token = client.access_token! :client_auth_body 
FbGraph::User.me(access_token).fetch
我去拿

OAuthException :: (#803) Some of the aliases you requested do not exist: PRINTED OUT TOKEN
获取访问令牌的正确方式是什么

编辑:当前流
您可以通过获取用于测试目的的访问令牌。确保选择了要访问的正确字段,然后单击获取访问令牌。一个更持久的解决方案是在Facebook上注册你的应用程序,这样你就可以不断地发出请求,而不会让令牌死掉

你应该调查这件事

我假设您正在尝试使用OAuth2策略,而不是Javascript SDK。请确保已设置如下回调url:

client.redirect_uri = "http://your.client.com/facebook/callback"
在处理回调的控制器中,您应该执行以下操作:

@fb_user = FbGraph::User.fetch(request.env["omniauth.auth"].credentials.token).friends
client.authorization_code = params[:code] 
access_token = client.access_token! :client_auth_body 
FbGraph::User.me(access_token).fetch
确保你已经让FBU图形知道你的应用程序的id和秘密。你应该调查以确保你的应用程序信息安全


我还要插上

谢谢你的回答。我已经在developers.Facebook.com上注册了Facebook应用程序。我正在使用fb_图形gem。我需要在Facebook应用程序中允许哪些内容自动接收访问令牌?你应该能够在developers.Facebook.com网站上找到你的应用程序的id和密码-我相信这两项都是登录过程所必需的。一定要检查一下。为了解决您的问题,您需要使用应用程序的id和密码以及Facebook的回调位置来发送握手的其他部分。回顾fb_graph gem.嗨,akells,我在原始帖子中添加了Facebook认证的当前流程。我不明白重定向的问题-我应该如何重定向用户?当他从FB重定向到我的应用程序时,我应该将他重定向回Facebook?
client.authorization_code = params[:code] 
access_token = client.access_token! :client_auth_body 
FbGraph::User.me(access_token).fetch