ContentFlows/Dokumentation

Fehlerbehebung & Token-Leitfäden

Schritt-für-Schritt-Anweisungen zum Verbinden von LinkedIn, Facebook, Instagram und YouTube mit ContentFlows. Jede Plattform benötigt zwei Werte: einen Zugriffstoken (der die Berechtigung erteilt) und eine ID (welches Konto / welche Seite / welcher Kanal veröffentlicht werden soll). Beide werden in dein Dashboard eingefügt.

Wie Zugangsdaten gespeichert werden

Alle Werte der vier Plattformen werden als ein einzelner verschlüsselter JSON-Blob im AWS Secrets Manager unter contentflows/tenants/YOUR_TENANT_ID/social-tokens gespeichert. Geheimnisse werden nie protokolliert, nach dem Speichern nie wieder angezeigt und sind deinem Konto isoliert zugeordnet. ContentFlows speichert niemals dein Social-Media-Passwort.


LinkedIn

ContentFlows verwendet die LinkedIn UGC Posts API, um in deinem Namen zu veröffentlichen. Du brauchst einen Zugriffstoken mit dem Berechtigungsbereich w_member_social sowie die Member URN des Kontos, unter dem die Beiträge erscheinen sollen.

Felder, nach denen ContentFlows dich fragen wird

LINKEDIN_ACCESS_TOKEN
OAuth-2.0-Zugriffstoken (60 Tage gültig). Beginnt mit AQV… oder ähnlich.
LINKEDIN_AUTHOR_ID
Member URN — sieht aus wie urn:li:person:XXXXXXXXXX oder urn:li:organization:NNNNNN für eine Company Page.

Voraussetzungen

  • Ein LinkedIn-Konto (persönliches Profil) — Beiträge werden von diesem Konto veröffentlicht
  • Ein kostenloses LinkedIn-Entwicklerkonto — du erstellst es automatisch, wenn du eine App erstellst

Schritt für Schritt

1

Gehe zum LinkedIn Developer Portal

Öffne linkedin.com/developers/apps und melde dich an. Klicke auf Create app.
2

Fülle die App-Details aus

  • App name: beliebig — z. B. „ContentFlows Publisher“
  • LinkedIn page: du musst eine LinkedIn Company Page verknüpfen. Wenn du noch keine hast, erstelle zuerst eine einfache Unternehmensseite (kostenlos).
  • App logo: lade ein beliebiges quadratisches Bild hoch
Klicke auf Create app.
3

Fordere das Produkt 'Share on LinkedIn' an

Gehe auf der App-Seite zum Tab Products. Suche Share on LinkedIn und klicke auf Request access. In der Regel wird sofort genehmigt.
4

Füge deine Redirect URI hinzu

Gehe zum Tab Auth. Füge unter OAuth 2.0 settings diese Redirect-URL hinzu:
https://www.linkedin.com/developers/tools/oauth/redirect
Klicke auf Update.
5

Generiere das Zugriffstoken

Gehe zu linkedin.com/developers/tools/oauth/token-generator. Wähle deine App aus, aktiviere w_member_social (und r_liteprofile, falls verfügbar), klicke auf Request access token, dann auf Allow. Kopiere das Token — es wird nicht erneut angezeigt. Das ist dein LINKEDIN_ACCESS_TOKEN.
6

Finde deine Member URN

Verwende im selben Token-Generator-Tool den integrierten API-Tester:
GET https://api.linkedin.com/v2/userinfo
Die Antwort enthält sub — setze davor urn:li:person:, um deine URN zu bilden. Wenn zum Beispiel sub = "ABC123xyz", dann ist deine URN urn:li:person:ABC123xyz. Das ist dein LINKEDIN_AUTHOR_ID.
Tipp: Wenn du statt deines persönlichen Profils von einer LinkedIn Company Page aus veröffentlichen möchtest, verwende stattdessen urn:li:organization:COMPANY_PAGE_NUMERIC_ID — die numerische ID ist in der Admin-URL der Page sichtbar.
7

Füge beide Werte in ContentFlows ein

Gehe in deinem Dashboard zu Integrations → LinkedIn. Füge das Zugriffstoken in das Feld Access token und die URN in das Feld Member URN ein und klicke dann auf Save.
Hinweis: LinkedIn-Zugriffstokens laufen nach 60 days ab. Wiederhole die Schritte 5 und 7 alle zwei Monate (die URN ändert sich nie). Richte dir eine Erinnerung im Kalender ein.

Facebook

ContentFlows veröffentlicht auf einer Facebook Page (nicht auf einem persönlichen Profil). Du brauchst ein Page access token mit der Berechtigung pages_manage_posts sowie die numerische Page ID.

Felder, nach denen ContentFlows dich fragen wird

FB_PAGE_ACCESS_TOKEN
Langfristiges Page-Access-Token (60 Tage) von Meta for Developers.
FB_PAGE_ID
Die numerische ID der Facebook Page, die du verwaltest (z. B. 123456789012345).

Voraussetzungen

  • Ein Facebook-Konto, das Admin einer Facebook Page ist
  • Wenn du noch keine Facebook Page hast, erstelle eine unter facebook.com/pages/create (kostenlos, dauert 2 Minuten)

Schritt für Schritt

1

Öffne das Meta for Developers-Portal

Gehe zu developers.facebook.com/apps und melde dich an. Klicke auf Create App.
2

Wähle den App-Typ und fülle die Details aus

Wähle Business als App-Typ. Fülle App-Name und Kontakt-E-Mail aus und klicke auf Create App.
3

Füge das Produkt Facebook Login hinzu

Suche im Dashboard in der Produktliste nach Facebook Login und klicke auf Set up. Keine zusätzliche Konfiguration erforderlich.
4

Hole ein User-Token aus dem Graph API Explorer

Öffne den Graph API Explorer:
  • Wähle oben rechts im Dropdown deine App aus
  • Klicke auf Generate Access Token
  • Aktiviere im Berechtigungs-Popup alle folgenden:
    • pages_manage_postserforderlich zum Veröffentlichen von Beiträgen (der am häufigsten fehlende Bereich)
    • pages_read_engagement
    • pages_show_list
    • business_management
    • instagram_basic — nur wenn du dieses Token auch für Instagram verwenden möchtest
    • instagram_content_publish — nur wenn du dieses Token auch für Instagram verwenden möchtest
  • Klicke auf Generate Access Token und autorisiere
Dadurch erhältst du ein kurzlebiges User access token (gültig etwa 2 Stunden). Die Schritte 5–6 wandeln es in ein nie ablaufendes Page-Zugriffstoken um.
5

Verlängere das User-Token zu einem langfristigen Token (60 Tage)

Füge das User-Token in den Access Token Debugger ein, klicke auf Debug und dann unten auf Extend Access Token. Du erhältst ein neues User-Token, das etwa 60 Tage gültig ist. Verwende dieses verlängerte Token im nächsten Schritt.
6

Leite das Page-Access-Token UND die Page ID ab

Zurück im Graph API Explorer: Füge das langfristige User-Token aus Schritt 5 in das Feld Access Token ein und führe dann Folgendes aus:
GET /me/accountsSubmit
In der JSON-Antwort finde deine Page. Sie hat zwei wichtige Felder:
  • access_token → das ist dein FB_PAGE_ACCESS_TOKEN — da es von einem langfristigen User-Token abgeleitet wurde, läuft dieses Page-Token nie ab
  • id → das ist dein FB_PAGE_ID
Kopiere beide Werte.
7

Füge beide Werte in ContentFlows ein

Gehe in deinem Dashboard zu Integrations → Facebook. Füge das Page-Token in Page access token und die numerische Page-ID in Page ID ein und klicke dann auf Save.
8

Prüfe, ob das Token die richtigen Berechtigungen hat (optional, aber empfohlen)

Füge dein neues Page-Token in den Access Token Debugger ein und prüfe:
  • Type: PAGE (nicht USER — wenn dort USER steht, hast du in Schritt 6 das falsche Token kopiert)
  • Expires: Never (wenn ein Datum angezeigt wird, hast du Schritt 5 übersprungen — das User-Token war beim Aufruf von /me/accounts noch kurzlebig)
  • Scopes: muss pages_manage_posts enthalten. Wenn es fehlt, hast du das Kästchen in Schritt 4 nicht aktiviert — starte erneut bei Schritt 4.
Tipp: Häufige 403-Ursache: Wenn deine geplanten Beiträge mit {"error":{"message":"(#200) Permissions error"}}fehlschlagen, fehlt dem Token fast immer pages_manage_posts. Prüfe es mit dem Debugger (Schritt 8) und generiere es bei Bedarf neu.

Instagram

Für die Veröffentlichung auf Instagram wird die Facebook Graph API verwendet, daher muss dein Instagram-Konto ein Professional-Konto (Business oder Creator) sein, das mit einer Facebook Page verknüpft ist. Persönliche Instagram-Konten können nicht über die API veröffentlichen.

Felder, nach denen ContentFlows dich fragen wird

IG_ACCESS_TOKEN
Optional — leer lassen und ContentFlows fällt auf FB_PAGE_ACCESS_TOKEN zurück. Nur ausfüllen, wenn du ein dediziertes Instagram-Token hast.
IG_BUSINESS_ACCOUNT_ID
Die Instagram-Business-Account-ID, die mit deiner Facebook Page verknüpft ist (z. B. 17841412345678901).

Voraussetzungen

  • Ein Instagram-Konto vom Typ Business oder Creator (kein persönliches Konto)
  • Dieses Instagram-Konto ist mit einer Facebook Page verknüpft, die du verwaltest
  • Eine Meta-Entwickler-App mit der Berechtigung instagram_content_publish

In ein Professional-Konto umwandeln (falls nötig)

1

Kontotyp in der Instagram-App wechseln

Gehe auf deinem Telefon zu deinem Instagram-Profil → tippe auf das ☰-Menü → EinstellungenKontoZu Professional-Konto wechseln. Wähle Business oder Creator.
2

Instagram mit deiner Facebook Page verknüpfen

Bleibe in den Instagram-Einstellungen und gehe zu KontoVerknüpfte KontenFacebook. Melde dich an und wähle deine Page aus.

Die Instagram-Business-Account-ID erhalten

3

Öffne den Graph API Explorer

Gehe zu developers.facebook.com/tools/explorer. Wähle deine App aus und generiere ein Token mit diesen Berechtigungen:
instagram_basic, instagram_content_publish, pages_read_engagement, pages_manage_posts
4

Finde deine Instagram-Business-Account-ID

Führe GET /me/accounts aus. Suche deine Page und kopiere ihre id. Führe dann Folgendes aus:
GET /{page-id}?fields=instagram_business_account
(ersetze {page-id} durch deine Page-ID). Die Antwort enthält ein Objekt instagram_business_account — kopiere dessen id. Das ist dein IG_BUSINESS_ACCOUNT_ID.
5

Füge die Werte in ContentFlows ein

Gehe in deinem Dashboard zu Integrations → Instagram. Füge die IG-Business-Account-ID in Business Account ID ein. Lass das Feld Access token leer, um das Facebook-Page-Token wiederzuverwenden, das du bereits konfiguriert hast — das ist der einfachste Weg und den meisten nutzen das. Klicke auf Save.
Hinweis: Wenn du Facebook bereits gespeichert hast, verwendet Instagram standardmäßig das FB-Page-Token als Zugriffstoken. Du musst nur IG_BUSINESS_ACCOUNT_ID angeben.

YouTube

ContentFlows verwendet die YouTube Data API v3, um Video-Metadaten (Titel, Beschreibungen, Tags) für deinen Content-Kalender zu generieren. Du brauchst einen API-Schlüssel aus der Google Cloud Console und die ID deines Kanals.

Felder, nach denen ContentFlows dich fragen wird

YOUTUBE_API_KEY
Google-Cloud-API-Schlüssel mit aktivierter YouTube Data API v3. Beginnt mit AIza…
YOUTUBE_CHANNEL_ID
Deine YouTube-Kanal-ID (z. B. UCxxxxxxxxxxxxxxxxxxxxxx). Zu finden in YouTube Studio → Einstellungen → Kanal → Erweiterte Einstellungen.

Voraussetzungen

  • Ein Google-Konto
  • Ein YouTube-Kanal, der mit diesem Konto verknüpft ist
  • Ein kostenloses Google-Cloud-Projekt (du erstellst es im ersten Schritt)

Schritt für Schritt

1

Erstelle ein Google-Cloud-Projekt

Gehe zu console.cloud.google.com/projectcreate, gib deinem Projekt einen beliebigen Namen (z. B. „ContentFlows“) und klicke auf Create.
2

Aktiviere die YouTube Data API v3

Wenn das neue Projekt ausgewählt ist, gehe zu YouTube Data API v3 und klicke auf Enable.
3

Erstelle einen API-Schlüssel

Navigiere zu APIs & Services → Credentials. Klicke auf + Create credentials → API key. Kopiere den Schlüssel — das ist dein YOUTUBE_API_KEY.
Tipp: Klicke auf Restrict key und beschränke ihn aus Sicherheitsgründen auf die YouTube Data API v3.
4

Finde deine YouTube Channel ID

Gehe zu YouTube StudioEinstellungen (Zahnrad unten links) → KanalErweiterte Einstellungen. Dort ist deine Channel ID aufgeführt — kopiere sie. Sie beginnt mit UC. Das ist dein YOUTUBE_CHANNEL_ID.
5

Füge beide Werte in ContentFlows ein

Gehe in deinem Dashboard zu Integrations → YouTube. Füge den API-Schlüssel in API key und die Channel ID in Channel ID ein und klicke dann auf Save.
Hinweis: Der API-Schlüssel ist nur lesbar — er generiert Metadaten, lädt aber KEINE Videos hoch. Das Hochladen erfordert weiterhin OAuth, das heute nicht Teil des Onboarding-Flows ist.


Sendedomain (DKIM / SPF / DMARC)

Standardmäßig werden Newsletter von noreply@contentflows.cc gesendet. Die Authentifizierung deiner eigenen Domain verbessert die Zustellbarkeit (weniger Spam-Ordner-Landungen), da die Absenderadresse mit DKIM-Signaturen und deiner sichtbaren Marke übereinstimmt.

Voraussetzungen

  • Du besitzt eine Domain (z. B. your-business.com).
  • Du kannst bei deinem Registrar DNS-Einträge erstellen (Cloudflare, Route53, GoDaddy, Namecheap usw.).

Schritt für Schritt

1

Starte den Ablauf

Öffne in deinem Dashboard Brand → suche unten die Karte Sendedomain → gib deine Domain ein (z. B. your-business.com) → klicke auf Save & show DNS records.
2

Kopiere die 5 DNS-Einträge

Die Karte zeigt jetzt 5 Einträge an:
  • 3 × CNAME (DKIM-Tokens)
  • 1 × TXT auf der Root-Domain (SPF)
  • 1 × TXT unter _dmarc.your-domain.com (DMARC)
Verwende die Kopieren-Schaltfläche neben jeder Zeile, um sie nacheinander zu übernehmen.
3

Bei deinem DNS-Anbieter einfügen

Melde dich bei deinem DNS-Host an und erstelle jeden Eintrag mit dem exakt angegebenen Host/Namen und Wert. Füge bei CNAMEs deine Domain nicht als Suffix hinzu — der angezeigte Host ist der vollständige Name (z. B. abc123._domainkey.your-domain.com).
Tipp: Cloudflare-Nutzer: Deaktiviere die orange Wolke (Proxy) bei den DKIM-CNAMEs — SES benötigt den rohen Eintrag.
4

Verifizieren

Zurück im Dashboard klicke auf Ich habe die Einträge hinzugefügt — Verifizieren. Die Karte fragt SES alle 15 Sekunden bis zu 10 Minuten lang ab. Die weltweite DNS-Propagation dauert meist unter 2 Minuten, bei manchen Anbietern jedoch länger.
5

Fertig

Nach der Verifizierung verwenden alle Newsletter deines Tenants newsletter@your-domain.com als From-Header, mit DKIM-Signaturen, SPF-Bestätigung und DMARC-Ausrichtung.
Hinweis: Du kannst die Domain jederzeit aus derselben Karte entfernen — dann fallen E-Mails auf den gemeinsamen Absender noreply@contentflows.cc zurück.

Abonnenten importieren

Die Schaltfläche + Import im Tab Newsletter öffnet ein Modal mit drei Tabs:

CSV-Upload

Lade eine .csv-Datei hoch. Die Kopfzeile wird automatisch erkannt (jede Spalte, deren Name email enthält, wird als E-Mail-Spalte behandelt; jede Spalte mit name oder first wird als Name behandelt). Ungültige E-Mail-Adressen werden abgelehnt; Duplikate werden übersprungen. Aktiviere das Kontrollkästchen für die Zustimmung, bevor Import aktiviert wird.

Mailchimp

Füge deinen Mailchimp-API-Schlüssel ein (Format: abc123...-us21 — der Teil nach dem letzten Bindestrich ist das Data Center) und die Audience ID (Mailchimp Audience-Dashboard → Settings → Audience name and defaults → Audience ID). ContentFlows zieht alle abonnierten Mitglieder.

ConvertKit

Füge deinen ConvertKit-API-Schlüssel ein (Settings → Advanced → API Key). Alle bestätigten Abonnenten werden importiert.

Häufige Probleme

  • Mailchimp 401 Unauthorized — der API-Schlüssel ist falsch oder das Konto hat ihn deaktiviert. Erneuere ihn in Mailchimp → Account → Extras → API keys.
  • „Keine gültigen E-Mail-Adressen“ — der CSV-Parser hat keine E-Mail-Spalte erkannt. Prüfe, ob es eine Kopfzeile und eine Spalte mit dem exakten Namen email gibt.
  • Import endet sofort mit 0 hinzugefügt — jede Zeile war bereits in deiner Liste. Das ist bei erneuten Importen normal.

Häufige Probleme

Token ist ungültig oder abgelaufen

Zugriffstokens laufen ab. LinkedIn-Tokens halten etwa 60 Tage. Facebook-/Instagram-Page-Tokens laufen nie ab, wenn sie von einem langfristigen User-Token abgeleitet werden (folge den Schritten im Facebook-Abschnitt genau). Generiere ein neues Token und aktualisiere es in Integrations.

Facebook: (#200) Permissions error beim Veröffentlichen

Mit Abstand die häufigste Ursache: Dem Page-Token fehlt der Bereich pages_manage_posts. Dieser Bereich wird im Berechtigungs-Popup leicht übersehen, weil der Graph API Explorer ihn standardmäßig nicht aktiviert. Prüfe dein Token im Access Token Debugger — wenn pages_manage_posts nicht in der Scopes-Liste steht, generiere das Token ab Schritt 4 der Facebook-Anleitung neu und setze diese Berechtigung explizit.

LinkedIn: ungültige URN

Die Member URN muss mit urn:li:person: (für persönliche Profile) oder urn:li:organization: (für Company Pages) beginnen, gefolgt von der eindeutigen ID des Kontos. Eine reine numerische oder alphanumerische Zeichenfolge ist für sich allein keine gültige URN.

Unzureichende Berechtigungen auf LinkedIn

Deine LinkedIn-App hat das Produkt Share on LinkedIn nicht genehmigt oder das Token wurde ohne w_member_social generiert. Gehe zurück zu Schritt 3 der LinkedIn-Anleitung und generiere das Token dann erneut.

Facebook: falsche Page ID

Die Page ID ist das numerische id-Feld aus /me/accounts, NICHT der lesbare Benutzername in der Page-URL. Wenn du aus Versehen den Benutzernamen einfügst, schlagen Beiträge fehl.

Du musst Admin der Facebook Page sein

Das Facebook-Konto, das das Token erzeugt hat, ist kein Admin der Ziel-Page. Bitte den Admin der Page, das Token selbst zu erzeugen, oder lass dich unter facebook.com → Page settings → Page roles als Admin hinzufügen.

Instagram: kein Business- oder Creator-Konto

Persönliche Instagram-Konten können die Content Publishing API nicht verwenden. Folge den oben beschriebenen Umwandlungsschritten.

Instagram: Konto nicht mit einer Facebook Page verknüpft

Dein Instagram-Professional-Konto ist nicht mit einer Facebook Page verbunden. Gehe zu Instagram Settings → Account → Linked Accounts → Facebook und stelle die Verknüpfung her.

YouTube: API-Kontingent überschritten

Die YouTube Data API hat ein Standardkontingent von 10.000 Einheiten/Tag, was für ContentFlows-Metadatenabfragen mehr als ausreichend ist. Wenn du das Limit erreichst, wird dieselbe API-Schlüssel wahrscheinlich auch anderswo verwendet — erstelle einen dedizierten Schlüssel für ContentFlows.


Immer noch festgefahren?

Kontaktiere den Support mit der Fehlermeldung und der Plattform, die du verbindest. Gib die Schrittnummer an, bei der du hängen geblieben bist.

Ähnlich