Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LinkedIn photo_urls or picture-urls::(original) not being returned

So I am using omniauth and devise for LinkedIn authentication in my Rails 5 app.

omniauth-linkedin-oauth2 (0.2.5)
devise (4.4.1)

Everything is working great for the most part and users are able to signup and authenticate using LinkedIn. However the default image that is returned in "auth.info.image" is 50x50 which is too small. I've done a lot of reading on this and the suggested way forward is adding "picture-urls::(original)" to the devise fields list. This is consistent with what I see in the documentation (https://developer.linkedin.com/docs/fields/basic-profile). This however does not seem to work and I'm wondering if there is a bug or if this is somehow outdated information.

My devise.rb omniauth config looks like:

config.omniauth Rails.application.config.omniauth, app_key, app_secret],
scope: 'r_basicprofile r_emailaddress',
fields: %w(id email-address first-name last-name picture-url picture-urls::(original))

Even after specifying these fields however, no values are returned in picture urls.

 self.remote_photo_url = auth.extra.raw_info.pictureUrls['values'].first

I've inspected the data that is returned and it's no where to be found. Not sure what I could be missing but any advice would be greatly appreciated!

like image 820
Ian Shields Avatar asked Mar 01 '18 13:03

Ian Shields


1 Answers

I've been importing photos with the 'picture-urls::(original)' field for years but since 2018/2/26 about half of profiles have not been returning this field and since 2018/3/1 none of them have been returning it.

There's no API status available that I'm aware of. I've experienced many LinkedIn API issues that have lasted 2-3 days and then mysteriously disappear. This is an unusually long one though.

like image 153
Ben Avatar answered Oct 06 '22 00:10

Ben