【问题标题】:Rails omniauth get a real facebook profile linkRails omniauth 获得真正的 Facebook 个人资料链接
【发布时间】:2015-05-31 10:05:35
【问题描述】:

我想获得一个真正的 Facebook 链接。 因此,在使用 Omniauth Gem 进行身份验证后,我的链接如下: https://www.facebook.com/app_scoped_user_id/960601127305294/ 但我的真实个人资料链接是:https://www.facebook.com/kuzevanoff

所以对于我的系统,有两个不同的链接。

我该如何解决我的问题?

谢谢!

我的 Omniauth 哈希:

Started GET "/auth/facebook" for 127.0.0.1 at 2015-05-31 13:40:45 +0200
I, [2015-05-31T13:40:45.979688 #56787]  INFO -- omniauth: (facebook) Request phase initiated.

<OmniAuth::AuthHash credentials=#<OmniAuth::AuthHash expires=true expires_at=1438249229 token="CAAXPwjr1V5oBABodmqtUPAGyPhnMBo3v7Q0Jifa8c7ZAYvvxYQiJoAydA1zJdeB6x9Gq8tRJFkEUeZAs003MnEe2mseO09UQwY3uvrS2JpodVqIauqRZAxUFbHBW234BB9s4q31WKpeOmbEzZBfmnP1cpowO3UWTOhfsfqFJObiPsZCKFPlZAjBH3rP6Fl6ldl62jUcLHDSIu7xubWPTvT"> extra=#<OmniAuth::AuthHash raw_info=#<OmniAuth::AuthHash email="boriska-iriska@yandex.ru" first_name="Boris" gender="male" id="960601127305294" last_name="Kuzevanov" link="https://www.facebook.com/app_scoped_user_id/960601127305294/" locale="ru_RU" name="Boris Kuzevanov" timezone=2 updated_time="2015-05-03T21:09:59+0000" verified=true>> info=#<OmniAuth::AuthHash::InfoHash email="boriska-iriska@yandex.ru" first_name="Boris" image="http://graph.facebook.com/960601127305294/picture" last_name="Kuzevanov" name="Boris Kuzevanov" urls=#<OmniAuth::AuthHash Facebook="https://www.facebook.com/app_scoped_user_id/960601127305294/"> verified=true> provider="facebook" uid="960601127305294">

【问题讨论】:

    标签: ruby-on-rails ruby facebook-graph-api omniauth omniauth-facebook


    【解决方案1】:

    如果您使用的是omniauth-facebook gem,那么您将获得以下身份验证哈希request.env['omniauth.auth']

    # Example from omniauth-facebook gem
    # https://github.com/mkdynamic/omniauth-facebook#auth-hash
    {
      :provider => 'facebook',
      :uid => '1234567',
      :info => {
        :nickname => 'jbloggs',
        :email => 'joe@bloggs.com',
        :name => 'Joe Bloggs',
        :first_name => 'Joe',
        :last_name => 'Bloggs',
        :image => 'http://graph.facebook.com/1234567/picture?type=square',
        :urls => { :Facebook => 'http://www.facebook.com/jbloggs' },
        :location => 'Palo Alto, California',
        :verified => true
      },
      # Removed non-essential part for brevity..
    }
    

    您可以通过 info > urls > Facebook 看到个人资料网址。此外,您可以将昵称附加到根 url 以获取配置文件链接。

    "http://www.facebook.com/" + omniauth_hash.info.nickname
    

    【讨论】:

    • 不,我的 URL 总是带有坏(对我来说)链接 urls=#<:authhash facebook="<a href=" https: rel="nofollow" target="_blank">facebook.com/app_scoped_user_id/960601127305294">
    • @user3548398 你能分享你的omniauth哈希吗?
    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 2016-12-21
    • 2012-01-20
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多