LinkedIn feed posts use the official Posts API. The product does not automate linkedin.com. A newsletter edition is not a feed post. It is a handoff.
Feed posts
Section titled “Feed posts”| Kind | Rule |
|---|---|
| Text | Commentary, up to 3,000 characters, hashtags included |
| Image | JPG, PNG, or GIF, under 10 MB and under 36,152,320 pixels. Up to 20 images. A GIF can have up to 250 frames. |
| Video | MP4, from 3 seconds to 30 minutes, and from 75 KB to 500 MB |
| Link card | A title (up to 400 characters), a description, and an https link you supply. LinkedIn does not scrape the page. This is not a newsletter. |
Images initialize an upload and then the bytes are sent. Video is initialize, byte-range upload, then finalize. The post itself returns an id in the x-restli-id header.
If a publish times out or the response is unclear, the attempt is marked uncertain and is not posted again.
Who the post is from
Section titled “Who the post is from”| Author | What you need |
|---|---|
| The member | w_member_social (Share on LinkedIn). Visibility can be public or connections. |
| A Company Page | w_organization_social and LinkedIn Community Management API access. The member must administer that page. Company Page posts are public. |
w_organization_social is requested only when the server has LINKEDIN_REQUEST_ORGANIZATION=1. Leave that unset until Community Management API access is approved. Until then, member posts still work and the composer says company-page posting is unavailable.
The composer asks you to choose the author, the visibility, and whether resharing is allowed. LINKEDIN_POSTING_PREVIEW=1 shows a sample author and does not call LinkedIn. Leave it unset on a server that posts.
Newsletter editions
Section titled “Newsletter editions”LinkedIn has no API for newsletter editions. Choose Newsletter edition in the composer. The product keeps the title, the edition, and one optional image. It does not send them, and it does not label a feed post as a newsletter. At the scheduled time, Home asks you to post the edition yourself. See Handoff-only posts.
Set up the LinkedIn app
Section titled “Set up the LinkedIn app”- Open linkedin.com/developers/apps and create an app.
- Add Sign In with LinkedIn using OpenID Connect and Share on LinkedIn.
- Add the redirect URI exactly:
{APP_PUBLIC_ORIGIN}/api/connect/linkedin/callback. - Put the client id and secret in
LINKEDIN_CLIENT_IDandLINKEDIN_CLIENT_SECRET. - Set
LINKEDIN_HTTP_ALLOW_NETWORK=1only on the server that may callapi.linkedin.com. LINKEDIN_API_VERSIONis theYYYYMMvalue sent asLinkedIn-Version. The default in this build is202610.
Access tokens last about 60 days. Programmatic refresh tokens are issued only when LinkedIn approves them for the app. If LinkedIn did not return a refresh token, the member reconnects when the token expires. See refresh tokens.
Sign-in scopes otherwise are openid, profile, and w_member_social. Comments and replies are not read or published by this connection.