TL;DR, Kurze Antwort
8 Min. LesezeitLinkedIn dokumentiert, dass "all access tokens are issued with a 60-day lifespan", und die Beispielantwort liefert expires_in 5184000, exakt 60 Tage. Programmatische Refresh Tokens halten 365 Tage, setzen sich beim Gebrauch nicht zurück und stehen nur freigegebenen Partnern der Marketing Developer Platform offen. Einen neuen Scope anzufordern entwertet jedes Token, das du schon hältst. Metas 60-Tage-Token liefert stattdessen 5183944, 56 Sekunden zu wenig, und das daraus abgeleitete Page Token läuft überhaupt nie ab.
Wie lange hält ein LinkedIn Access Token?
Jedes LinkedIn Access Token, das über den Authorization-Code-Flow entsteht, trägt dieselbe Uhr, und LinkedIn nennt die Zahl ohne Einschränkung: „Currently, all access tokens are issued with a 60-day lifespan." Diese Zeile steht in der Tabelle der Antwortfelder zu expires_in auf der Seite zum dreibeinigen OAuth, und das ist der Flow, den jede Posting-Integration nutzt.
Die Beispielantwort, die LinkedIn auf dieser Seite veröffentlicht, passt sekundengenau zum Satz:
{
"access_token":"AQUvlL_DYEzvT2wz1QJiEPeLioeA",
"expires_in":5184000,
"scope":"r_basicprofile"
}5.184.000 Sekunden sind exakt 60 Tage, ohne dass etwas abgeschnitten wird. Lies trotzdem das Feld statt den Satz. LinkedIns eigene Anleitung sagt: „Access tokens stay valid until the number of seconds indicated in the expires_in field in the API response", und expires_in ist der einzige Wert, der abbildet, was dein Token tatsächlich bekommen hat.
Welche LinkedIn-Tokens haben welche Laufzeit?
Es sind drei, und sie ähneln einander überhaupt nicht.
| Credential | Dokumentierte Laufzeit | Woher es kommt |
|---|---|---|
| Authorization Code | 30 Minuten | GET /oauth/v2/authorization |
| Dreibeiniges Access Token | 60 Tage | POST /oauth/v2/accessToken |
| Zweibeiniges Application Token | 30 Minuten | grant_type=client_credentials |
| Programmatisches Refresh Token | 365 Tage | Kommt neben dem Access Token zurück |
Über den Authorization Code stolpern die meisten zuerst. LinkedIn schreibt, „the authorization code has a 30-minute lifespan and must be used immediately", und wenn er abläuft, „you must repeat all of the previous steps to request another authorization code."
Das zweibeinige Token ist eine andere Art Überraschung. LinkedIns Seite zu Client Credentials sagt „The access token has a 30-minute lifespan and must be used immediately", und ihr Beispiel liefert "expires_in": "1800" als String in Anführungszeichen statt als Integer wie im dreibeinigen Flow. Zweibeinig steht außerdem für die APIs, die die meisten Posting-Werkzeuge brauchen, gar nicht zur Verfügung: „2-legged OAuth authentication is not available for Marketing APIs."

Gibt LinkedIn dir ein Refresh Token?
Nur wenn LinkedIn dich dafür freigegeben hat. Die Seite zu Refresh Tokens beginnt mit der Schranke: „LinkedIn supports programmatic refresh tokens for all approved Marketing Developer Platform (MDP) partners", und die Seite zum Authorization-Code-Flow wiederholt es von der anderen Seite, programmatische Refresh Tokens „are available for a limited set of partners."
Ist deine App nicht in dieser Gruppe, ist LinkedIns dokumentierter Erneuerungsweg gar kein Grant Type. Er besteht darin, das Mitglied erneut durch /oauth/v2/authorization zu schicken. LinkedIn beschreibt das als nahtlos, und das kann es auch sein, denn der Consent-Screen entfällt, wenn zwei Bedingungen gelten: „The member is still logged into www.linkedin.com" und „The member's current access token has not expired." Fehlt eine davon, sieht dein Nutzer wieder den vollen Autorisierungsbildschirm.
Deshalb lautet LinkedIns eigener Rat, früh zu erneuern: „Make sure your application refreshes access tokens before they expire, to avoid unnecessarily sending your application's users through the authorization process again." Ein an Tag 55 erneuertes Token verlängert sich stillschweigend. Ein an Tag 61 erneuertes Token lässt sich gar nicht mehr verlängern.
Freigegebene Partner tauschen stattdessen das Refresh Token ein:
POST https://www.linkedin.com/oauth/v2/accessToken
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token={refresh_token}&client_id={client_id}&client_secret={client_secret}Wie lange hält das LinkedIn Refresh Token?
365 Tage, und die Uhr setzt sich nie zurück. LinkedIn schreibt, „access tokens are valid for 60 days and programmatic refresh tokens are valid for a year", und formuliert dann die Folge aus, die viele erwischt: „When you use a refresh token to generate a new access token, the lifespan or Time To Live (TTL) of the refresh token remains the same as specified in the initial OAuth flow (365 days), and the new access token has a new TTL of 60 days."
LinkedIns durchgerechnetes Beispiel lohnt sich wörtlich:
- Tag 1: Das Refresh Token hat 365 Tage, das Access Token 60.
- Tag 59: Ein Refresh liefert ein neues Access Token über 60 Tage, und das Refresh Token steht bei 306 Tagen.
- Tag 360: „your access token and refresh token will both expire in 5 days (365-360=5) and you must get your application reauthorized by the member."
Ein Refresh Token kauft dir also grob sechs stille Erneuerungen, und danach muss das Mitglied wieder auf Erlauben klicken. Es gibt kein rollendes Fenster, keine Refresh-Token-Rotation, die den Horizont verlängert, und keinen dokumentierten Weg, mehr zu verlangen.
Was liefert refresh_token_expires_in tatsächlich?
Hier widerspricht LinkedIn sich selbst, und die Rechnung macht es offensichtlich. Das Feld ist dokumentiert als „The number of seconds remaining until the refresh token expires." Die Beispielantwort auf derselben Seite liefert:
AdaptlyPost
7-Tage-Testversion starten
Plattformübergreifende Analysen
Sozialer Posteingang
KI-gestützter Assistent
{
"refresh_token_expires_in": 525600,
"scope":"r_basicprofile"
}525.600 Sekunden sind 6,08 Tage, und das ist weder ein Jahr noch irgendeine dokumentierte LinkedIn-Laufzeit. 525.600 Minuten sind exakt 365 Tage. Das Beispiel steht in Minuten, während die Feldbeschreibung Sekunden sagt.
Das zweite Beispiel macht es endgültig. Nach einem Refresh zeigt LinkedIns Seite "refresh_token_expires_in": 439200. Die Differenz der beiden Werte ist 86.400, und 86.400 Minuten sind 60 Tage, also genau der Abstand, den das durchgerechnete Beispiel zwischen Ausgabe und einmaliger Nutzung eines Refresh Tokens beschreibt. Beide Beispielwerte sind als Minuten in sich stimmig und als Sekunden Unsinn.
Nimm die Feldbeschreibung als maßgeblich und die Beispielzahlen als Ausrutscher in der Dokumentation. Wenn du ein absolutes Ablaufdatum speicherst, berechne es aus dem, was die Live-API dir liefert, nicht aus einer der Zahlen auf dieser Seite.

Was entwertet ein LinkedIn Access Token vor den 60 Tagen?
Vier Dinge, alle dokumentiert.
Einen anderen Scope anzufordern ist das, was Entwickler überrascht, weil sichtbar nichts kaputtgeht, bis es kaputtgeht. LinkedIn schreibt: „If you request a different scope than the previously granted scope, all the previous access tokens are invalidated." Ein Release, das eine einzige Berechtigung ergänzt, tötet jedes Token deiner bestehenden Nutzer. Dieselbe Seite warnt separat: „If the scope permissions are changed in your app, your users must re-authenticate."
Widerruf durch LinkedIn ist das zweite, und LinkedIn hält sich das unverblümt offen: „LinkedIn reserves the right to revoke Refresh Tokens or Access Tokens at any time due to technical or policy reasons. In such scenarios, the expectation from products leveraging Refresh Tokens is to fallback to the standard OAuth flow, and present the login screen to the end users."
Widerruf durch das Mitglied ist das dritte. Wer deine App in seinen LinkedIn-Einstellungen trennt, beendet die Erteilung sofort.
Ein Refresh-Versuch mit einem toten Credential ist das vierte, und er liefert einen bestimmten Fehler: 400 invalid_request "The provided authorization grant or refresh token is invalid, expired or revoked". LinkedIns Spalte zur Lösung bietet genau ein Mittel, „reauthenticate the member to generate the new refresh token."
Du musst nicht raten, welches der vier zutraf. POST https://www.linkedin.com/oauth/v2/introspectToken nimmt deine client_id, dein client_secret und das token selbst und liefert status als revoked, expired oder active, dazu expires_at, created_at, authorized_at und auth_type. Das ist der Aufruf, wenn geplante LinkedIn-Beiträge nicht mehr rausgehen, und zwar für ein Konto und sonst niemanden.
Wie unterscheidet sich das vom 60-Tage-Token bei Meta?
Beide Plattformen sagen 60 Tage. Fast nichts sonst deckt sich.
| Meta | ||
|---|---|---|
| Dokumentierte Laufzeit des Nutzertokens | 60 Tage | „about 60 days" |
Geliefertes expires_in | 5184000 | 5183944 |
| Erneuerungsmechanismus | Neu-Autorisierung oder grant_type=refresh_token für MDP-Partner | grant_type=fb_exchange_token |
| Erneuern mit abgelaufenem Token | Nein | Nein |
| Nicht ablaufende Option | Keine dokumentiert | Page Access Token |
Metas Zahl ist die schräge. Ihre Beispielantwort liefert "expires_in": 5183944, was 56 Sekunden unter 60 Tagen liegt, und Metas Formulierung ist bewusst locker: „long-lived tokens last about 60 days." Meta hängt dann einen Vorbehalt an, den LinkedIn nicht hat, und rät davon ab, sich auf die Laufzeit zu verlassen, weil Tokens „may change without warning or expire early." Die vollständige Aufschlüsselung steht im Text zum langlebigen Facebook Access Token.
Der eigentliche Unterschied liegt darin, was am Ende der Kette steht. Meta lässt dich aus einem langlebigen Nutzertoken ein Page Access Token ableiten und sagt, solche Tokens „do not have an expiration date." LinkedIn veröffentlicht kein Gegenstück und sagt in einer einzigen Zeile im Refresh-Abschnitt das Gegenteil: „To protect members' data, LinkedIn does not generate long-lived access tokens." LinkedIn bezeichnet also sein eigenes 60-Tage-Token als kurzlebig.
Für alle, die gegen beide bauen, sieht die Praxis so aus. Bei Meta erreichst du ein Credential, das die Sitzung des Mitglieds überlebt. Bei LinkedIn nicht, weshalb die Aufforderung zum erneuten Verbinden ein dauerhafter Teil der Integration ist statt ein Fehlerzustand, und LinkedIn-Beiträge zuverlässig zu planen heißt, den Tag einzuplanen, an dem das Mitglied wieder auf Erlauben klicken muss.
Häufig gestellte Fragen
Welchen Wert liefert expires_in für ein LinkedIn Access Token?
5184000 in LinkedIns veröffentlichtem Beispiel, und das sind exakt 60 Tage in Sekunden.
AdaptlyPost
7-Tage-Testversion starten
Plattformübergreifende Analysen
Sozialer Posteingang
KI-gestützter Assistent
Kannst du ein LinkedIn Access Token über 60 Tage hinaus verlängern?
Nein. LinkedIn stellt ein neues 60-Tage-Token aus, entweder über ein Refresh Token, wenn deine App freigegebener MDP-Partner ist, oder indem du das Mitglied erneut durch die Autorisierung schickst.
Wie lange gilt ein LinkedIn Authorization Code?
30 Minuten. LinkedIn schreibt, er „must be used immediately", und dass ein abgelaufener Code bedeutet, jeden vorherigen Schritt zu wiederholen.
Setzt ein Refresh das Ablaufdatum des Refresh Tokens zurück?
Nein. LinkedIn hält fest, dass die TTL des Refresh Tokens „remains the same as specified in the initial OAuth flow (365 days)", egal wie oft du es nutzt.
Warum haben all deine LinkedIn-Tokens auf einmal aufgehört zu funktionieren?
Die wahrscheinlichste Ursache ist eine Scope-Änderung. LinkedIn entwertet alle zuvor erteilten Access Tokens, sobald deine App einen anderen Scope anfordert als den bereits erteilten.
Wie prüfst du, ob ein Token widerrufen oder abgelaufen ist?
Ruf POST https://www.linkedin.com/oauth/v2/introspectToken mit deinen Client-Zugangsdaten und dem Token auf. Das Feld status liefert revoked, expired oder active.
Was passiert, wenn das LinkedIn-Refresh-Token zusammen mit dem Access Token abläuft?
LinkedIns eigenes Beispiel setzt das auf Tag 360, wenn sowohl Access Token als auch Refresh Token noch fünf Tage haben. Sobald dieses Fenster schließt, muss das Mitglied die Autorisierung erneut durchlaufen, denn kein Grant Type kann ein abgelaufenes Refresh Token erneuern. Für das Refresh Token selbst ist auf der entsprechenden Seite kein Verlängerungsweg dokumentiert.
Warum können sich die meisten Posting-Tools nicht auf LinkedIns Two-Legged-Token verlassen?
Das Client-Credentials-Token hält nur 30 Minuten, und LinkedIn dokumentiert es als nicht verfügbar für Marketing APIs, genau die Fläche, auf die Scheduling- und Posting-Tools angewiesen sind. Seine Beispielantwort liefert expires_in sogar als Zeichenkette in Anführungszeichen, "1800", statt der Ganzzahl, die der Three-Legged-Flow zurückgibt. Jede App, die im Namen eines Mitglieds postet, muss stattdessen den Three-Legged-Flow nutzen.
Stimmt LinkedIns Wert von 5.184.000 Sekunden mit der 60-Tage-Angabe überein?
Er passt exakt. LinkedIns Dokumentation nennt eine Laufzeit von 60 Tagen, und der Beispielwert von expires_in, 5184000 Sekunden, entspricht ohne Rundung genau 60 Tagen. Diese Präzision macht später umso auffälliger, wie das Feld refresh_token_expires_in in derselben Dokumentation Minuten mit Sekunden verwechselt.
Stellt LinkedIn jemals ein Token aus, das nie abläuft?
LinkedIn dokumentiert keine solche Option. Jedes Access Token hat eine Laufzeit von 60 Tagen, und das Unternehmen schreibt ausdrücklich, dass es keine langlebigen Access Tokens generiert, anders als Meta, wo sich aus einem langlebigen User Token ein Page Access Token ohne Ablaufdatum ableiten lässt.
Setze das mit AdaptlyPost in die Praxis um
War dieser Artikel hilfreich?
Teilen Sie uns Ihre Meinung mit!
Sieh uns öfter bei Google
Ein Klick macht AdaptlyPost zu einer bevorzugten Quelle. Unsere Artikel stehen dann weiter oben in deinen Top-Meldungen, im KI-Modus und in den KI-Übersichten.
Bevor Sie gehen...
AdaptlyPost
Planen Sie Ihre Inhalte für alle Plattformen
Verwalten Sie alle Ihre Social-Media-Konten an einem Ort mit AdaptlyPost.
Plattformübergreifende Analysen
Sozialer Posteingang
KI-gestützter Assistent
Verwandte Glossarbegriffe


Was Instagrams content_publishing_limit-Endpunkt zurückgibt
Instagrams Endpunkt content_publishing_limit liefert quota_usage plus einen config-Block mit quota_total 50 und quota_duration 86.400 Sekunden.


Wo das LinkedIn-Alt-Text-Zeichenlimit tatsächlich steht
Das LinkedIn-Alt-Text-Zeichenlimit liegt bei 4.086 Zeichen am API-Feld altText, und für das Alt-Text-Feld in der App veröffentlicht LinkedIn gar kein Limit.


Wie LinkedIn initializeUpload aus einer Datei eine Bild-URN macht
Die Aktion LinkedIn initializeUpload liefert eine Bild-URN und eine Upload-URL. Hier der PUT, der Beitrag mit der URN und die Fehler an jedem Schritt.
Verwandte Artikel


Hinter der TikTok KI-Kennzeichnung stecken zwei Labels
Die TikTok KI-Kennzeichnung gibt es zweimal: ein Creator-Label, das du per is_aigc setzt, und ein Auto-Label durch KI-Effekte oder C2PA, das bleibt.


Was der Scope instagram_business_content_publish wirklich gewährt
Der Scope instagram_business_content_publish erlaubt einer App organische Instagram-Posts und hängt bei jedem Aufruf an instagram_business_basic.


Jedes Limit, das die Instagram Reels API deinem Video setzt
Bei der Instagram Reels API endet ein Reel bei 15 Minuten und 300 MB, und nur MOV oder MP4 kommen durch. Alle Specs plus der Fehler je Verstoß.

