Publishing an image without a related URL via the LinkedIn API
Asked Answered
T

3

8

The LinkedIn Share API states that:

Post must contain comment and/or (content/title and content/submitted-url).

This is a bit confusing, but the consequence is that our app cannot share an image unless it has an associated "article" URL. To a degree, this makes sense, since it seems that the Share API was intended to be used to share two things: 1) simple text status updates, and 2) articles.

This might be enough information to give up, but it appears that the LinkedIn web interface does, indeed, allow an image to be shared directly, without an associated URL.

Using the web interface:

enter image description here

The result:

enter image description here

Clicking on the image displays the image in a popup (lightbox):

enter image description here

So, my question is: The web client, as I have shown, clearly has the ability to share images without associated links/URLs. Is there a way to accomplish the same thing using the LinkedIn API?

Thanks!

Thundershower answered 12/3, 2014 at 1:57 Comment(0)
T
4

I've come to accept the disappointing fact that this is almost certainly just not possible via the API. Boo.

Thundershower answered 10/4, 2014 at 20:10 Comment(5)
Do you know if this has changed?Lin
As far as I know, it has not changed, but if you find that it has, please report back here! :)Thundershower
Update: The solution provided in the previous comment didn't work.Thundershower
I think the technical "answer" to this is that we need to use Rich Media Shares from the V2 API. The problem with this is that the V2 API appears to be only partially functional/public - it's as if LI got halfway through releasing it and abandoned it. Every request I make to V2 returns permissions errors. Perhaps we need to join one of LI's partner programs?Thundershower
this has changed, read my answer it works. i just implemented it in my app @ThundershowerStites
O
2

You can provide the URL of the image itself as the submitted-url. This makes the link-preview box link to the image. This might not be ideal, but it works to get the image on the post.

However, LinkedIn has strange behavior with these kinds of messages if there are URLs in the comment itself. If there is one URL in the comment, LinkedIn will remove the URL. If there is more than one URL, LinkedIn will display all URLs in the comment. One of these two behaviors is a bug, I suspect.

Here's an image of what a post looks like when submitted-image-url and submitted-url are the same:

enter image description here

Ophicleide answered 30/1, 2017 at 19:3 Comment(5)
Thanks, @DecayConstant! Could you provide a screenshot of what the end result will look like? This will help SO'ers know if this is a good option for them.Thundershower
@Thundershower I added an image of the result.Ophicleide
Thanks, @DecayConstant! :)Thundershower
This is the approach we use; I wish it would work more like the "native" post made directly on linkedin.com, but at least it's better than nothing! Thanks again.Thundershower
@rinogo, use the answer that i've providedStites
S
1

The accepted answer is outdated. The API has evolved a lot over the past 8 years.

I've been facing this issue for a week and I finally figured out the solution. Here is the code for it in Node. But, you can use the Payload in another language.

      const payload = {
        owner: 'YOUR-LINKEDIN-AUTHOR-URN',
        text: {
          text: 'This is a sample post'
        },
        distribution: {
          linkedInDistributionTarget: {}
        },
        content: {
          contentEntities: [
            {
              entityLocation: 'https://enlear.academy/how-to-build-a-scalable-email-service-using-aws-d404b347a7fb',
              thumbnails: [
                { resolvedUrl: 'https://miro.medium.com/max/1400/0*a-5BgPfQ7a2Lwe5z.png' }
              ]
            }
          ],
          title: 'Building a Scalable Email Service',
        },
      };

Construct the body using a payload similar to this (just replace your link with my example) and send a POST request to the URL - https://api.linkedin.com/v2/shares.

Additionally attach the Authorization Header with the Bearer Token and attach a second header LinkedIn-Version with the value 202207

For more information, refer the documentation - https://learn.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/share-api?view=li-lms-unversioned&tabs=http#share-types

Stites answered 1/8, 2022 at 10:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.