Tag: facebook

omn​​iauth-facebook cannnot获取电子邮件地址

我创建了新的Rails应用程序并安装了Devise和omniauth-facebook gem。 并将我的Facebook App设置为测试环境。 所以,我通过Facebook登录并注册了我的新Rails应用程序,但request.env不包含电子邮件地址.info。 返回request.env [‘omniauth.auth’] { “provider” => “facebook”, “uid” => “xxxxxxxxxxxx”, “info” => { “name” => “xxxxxxx”, “image” => “http://graph.facebook.com/xxx/picture” }, “credentials” => { “token” => “tokenstring”, “expires_at” => xxxxxxxxx, “expires” => true }, “extra” => { “raw_info” => { “name” => “xxx xxxx”, “id” => “xxxxxxxxx” } } } 它机架request.env [‘omniauth.auth’] […]

处理Oauth 2.0-facebook gem error 100:已使用此授权码

我一直在为我的rails应用程序设置facebook身份validation,在测试时,在使用我的facebook帐户登录后,我不断收到此错误: OAuth2::Error: {“error”:{“message”:”This authorization code has been used.”,”type”:”OAuthException”,”code”:100}} 我不确定从哪里开始,但似乎无法在网上找到任何其他内容。 任何指导将不胜感激,很高兴提供更多信息,如果它有用。

使用rspec进行集成测试并设计sign_in env

我正在使用设计配置使用omniauth facebook登录集成。 从我的spec/request测试中调用sign_in方法时,我得到: undefined method `env’ for nil:NilClass 规格: describe FacebookController do include Devise::TestHelpers it “should display facebook logged in status” do @user = User.create(:id => “123”, :token => “token”) sign_in @user visit facebook_path end end

通知ala Facebook(数据库实施)

我想知道Facebook如何实现他们的通知系统,因为我正在寻找类似的东西。 FooBar评论了你的状态 Red1,Green2和Blue3对你的照片发表了评论 MegaMan和另外5人对您的活动发表了评论 我不能将多个通知写入单个记录,因为最终我将有与每个通知相关联的操作。 此外,在视图中,我希望当单个主题存在一定数量的通知时,通知将呈现为可扩展列表。 FooBar评论了你的状态(行动) Red1,Green2和Pink5对你的照片发表了评论[+] MegaMan和另外3人对您的活动发表了评论[ – ] MegaMan评论了你的活动(行动) ProtoMan评论了您的活动(行动) 巴斯评论了你的活动(行动) DrWilly评论了您的活动(行动) 干杯! PS我正在使用postgres和rails BTW。

在Rails中实现通知

在我的应用程序中,我想在评论或post中提及他/她时通知用户。 用户句柄是@user_name ,类似于Facebook 。 提及的数据库表如下所示: Mention mentioned_by: user_id (foreign key) user_mentioned: user_id (foreign key) comment_id: (foreign key) post_id: (foreign key) 我无法想出实现它的方法。 Facebook / Twitter如何做到这一点? 我决定使用的是使用ActiveRecord callbacks/ Observer design pattern ,每当新的评论/post保存到数据库时,我都可以浏览post/评论的内容,并留意任何提及,然后执行通知按要求。 我觉得有一些缺失的部分,我没有把它弄好。 这是最好的方式吗?

从facebook中获取用户个人资料大图片,并在设计2.0中使用omniauth

我想从Facebook获取用户个人资料大图或普通图片。 现在我使用以下代码从用户个人资料图片中获取方形版本: :image => access_token.info.image # http://graph.facebook.com/id/picture?type=square 我怎样才能获得大版或普通版? 或者和应用程序,我如何在这个url中替换最后一个字,大而不是方形…… 非常感谢你!

使用OpenID,Twitter或Facebook进行Rails 3身份validation

你能建议一些有用的例子吗? 我尝试了Authlogic和Devise的成功。

路由错误未初始化的常量用户

我是一个铁杆新手…我正在尝试设置登录Facebook的演示应用程序。 我正在使用OmniAuth并遵循本教程 https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview 重定向到fB时出现此错误: Routing Error: uninitialized constant Users Try running rake routes for more information on available routes. 环境 Windows 7 Rails version :3.2.9.rc2 omniauth-1.1.1 devise-2.1.2 我的routes.rb看起来像这样: root :to => ‘static_pages#home’ resources :users get “static_pages/home” match ‘/auth/facebook’ => ‘omniauth#passthru’ match ‘/users/auth/facebook’ => ‘users/omniauth_callbacks#passthru’ devise_for :users, :controllers => { :omniauth_callbacks => “users/omniauth_callbacks” } , :strategy_class […]

如何在设计中使用http身份validation,并使用可选的omniauth令牌作为身份validation令牌

我们有一个rails应用程序设置,它使用devise&omniauth允许通过facebook身份validation登录。 我们还有一个移动应用程序,当前正在使用http身份validation通过传递用户名和密码或传入http身份validation令牌来登录rails应用程序。 到目前为止,这一切都很有效。 移动应用程序还具有与Facebook本身进行身份validation的能力,并直接在自己和Facebook之间接收用户facebook令牌。 我想弥合这个差距,以便如果用户通过Facebook从移动应用程序登录并拥有他们的Facebook令牌,允许将facebook令牌用作rails应用程序上的身份validation,就好像他们已经从facebook通过浏览器。 最终结果是移动应用程序可以通过以下方式登录用户: 1)用户名/密码或2)http认证令牌或3)omniauth(facebook)令牌 此外,在3)的情况下,如果用户尚未存在于rails应用程序上,则需要创建用户 – 现在已经使用浏览器端身份validation执行此操作,因此可能无需执行任何操作。 如何在设计构造中最好地实现这一目标?

Omniauth-facebook哈希没有显示Facebook’用户名’字段,使用rails 3

我已经设置了我的rails 3应用程序以使用omniauth-facebook,一切正常但是当我将omniauth hash看作yaml时没有’nickname’字段,我可以得到’name’和’email’但我的validation无法创建用户,因为我无法获取应用程序用户名要求的昵称。 我已经在“设置”下仔细检查了我的Facebook帐户,并显示了我的用户名。 任何想法为什么会发生这种情况? 谢谢您的帮助。 这是我的omniauth哈希的一个例子,我出于隐私原因放置了’X’: — !ruby/hash:OmniAuth::AuthHash provider: facebook uid: ‘XXXXXXXXXXXXX’ info: !ruby/hash:OmniAuth::AuthHash::InfoHash email: XXXX@XXXX.XX name: XXXX XXXX first_name: XXXX last_name: XXXX image: http://graph.facebook.com/XXXXXXXXXXXXX/picture urls: !ruby/hash:OmniAuth::AuthHash Facebook: https://www.facebook.com/app_scoped_user_id/XXXXXXXXXXXXX/ verified: true credentials: !ruby/hash:OmniAuth::AuthHash token: ACCESS_TOKEN expires_at: 1406357169 expires: true extra: !ruby/hash:OmniAuth::AuthHash raw_info: !ruby/hash:OmniAuth::AuthHash id: ‘XXXXXXXXXXXXXXX’ email: XXXX@XXXX.XX first_name: XXXX gender: male last_name: XXXX link: […]