hexgnu / linkedin

Ruby wrapper for the LinkedIn API
http://rdoc.info/gems/linkedin
MIT License
756 stars 407 forks source link

LinkedIn v1 API deprecation #272

Open tobiasmanroth opened 5 years ago

tobiasmanroth commented 5 years ago

Is this gem compatible with the new v2 API or will it be depricated? Anybody working on this?

Cheers!

hexgnu commented 5 years ago

Hey @tobiasmanroth most likely not.

If you want to submit a PR I am more than willing to review and merge it in.

Thanks!

dsandstrom commented 5 years ago

Looking for this too. I found a couple gems that seem to be what we want, but don't work for me:

  1. https://github.com/emorikawa/linkedin-oauth2
  2. https://github.com/mdesjardins/linkedin-v2

The first one doesn't use v2 urls so not sure if it ever worked. The second is a fork made because their PR wasn't merged. Couldn't install the gem because it needs faraday 0.11.0 and other gems need < 0.10.0. I tried forking and editing the gemspec, but I couldn't get it to work.

I was able to fork this gem and edit the url prefix and update the share code. However, LinkedIn now requires you to send the user's uid along with the content so it makes things a lot more complicated.

https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/share-on-linkedin?context=linkedin/consumer/context

tobiasmanroth commented 5 years ago

According to the "important" note on the bottom over there: https://docs.microsoft.com/en-us/linkedin/marketing/

You need to have executed a separate signed partnership agreement with linked in / Microsoft to use their api. The api change is hilarious :)

dsandstrom commented 5 years ago

Pushed an incomplete PR #274 . Not sure if I will go any further than that, but wanted to upload what I got working.

dsandstrom commented 5 years ago

Another thing to note is mdesjardins/linkedin-v2 uses the "share" API (https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/share-api). However, LinkedIn provides a link to a different set of docs: https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/share-on-linkedin?context=linkedin/consumer/context . It shows the UGC Post API. According to LinkedIn:

UGC Post is an upcoming API that will eventually replace the Shares API.

So it would be more future proof to use the UGC Post API now.

By the way, I was able to get the linkedin-v2 gem installed, but couldn't get it to work. I'm just getting errors about the urn. Not sure what format the gem wants it in and I didn't see any suggestions in the code. I'll probably stick with my branch represented by #274.

dsandstrom commented 5 years ago

My fix is not working in production. I receive error LinkedIn::Errors::UnauthorizedError ((401): Invalid access token) when I hit the ugcPosts endpoint. My process works in development, but I can't use their API in production.

dsandstrom commented 5 years ago

The token can be 350 characters long. Make sure you change your column type to text or varchar(400).

thiagopradi commented 5 years ago

hi @dsandstrom - Did you manage to make the share API work in your production env? facing the same issue here.

dsandstrom commented 5 years ago

Yeah, the comment above. My token column was limited to 255 characters, but the new tokens are 350 long. Once I increased the limit (along with #274), things started working.

Yes I know, I need to use the same dbs for dev and production.

thiagopradi commented 5 years ago

@dsandstrom - I've tried here again and could make it work - I was passing the wrong URN. Your work saved my day - thanks!

colin-kudos commented 5 years ago

In the same boat going to give @dsandstrom work a shot!