Question

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!

Was it helpful?

Solution

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

OTHER TIPS

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top