Primeiro
Ryan fez um tutorial detalhado sobre como usar o Omniauth . O que eu coloco aqui são várias coisas para prestar atenção quando você trabalha com o Linkedin.
Gemas para trabalhar com Omniauth e Linkedin:
gem 'omniauth'
gem 'omniauth-linkedin'
Então, basicamente, todas as informações que você deseja recuperar da conta do usuário no Linkedin devem ser colocadas em config/initializers/omniauth.rb</code>
Rails.application.config.middleware.use OmniAuth::Builder do
provider :linked_in, "XXX", "XXX",
:scope => "r_basicprofile r_emailaddress",
:field => ["id", "email-address"]
end
:field</code> is where you tell Omniauth what to get from Linkedin, such things as:
"first-name", "last-name", "headline", "picture-url", "public-profile-url
Aqui está uma lista de todos os campos disponíveis.
Notas laterais
A última atualização do Omniauth não usa hash['user_info']['name']</code> anymore, but hash['info']['name']</code>.
Além disso, o URL recuperado do perfil público do Linkedin não é amigável.
--- !ruby/hash:Hashie::Mashpublic_profile: http://linkedin.com/in/user
Registrei um problema aqui para que o criador da gema possa corrigi-lo. Por enquanto, vamos nos contentar com esta solução:
hash['info']['urls'].to_s.gsub('#<Hashie::Mash public_profile="','').gsub('">',''))
Verifique esta essência se não souber onde colocar esse código.
- T.