Risoluzione dei problemi e guide token
Istruzioni passo per passo per collegare LinkedIn, Facebook, Instagram e YouTube a ContentFlows. Ogni piattaforma richiede due valori: un token di accesso (ciò che concede l'autorizzazione) e un ID (l'account / pagina / canale su cui pubblicare). Entrambi vengono incollati nella tua dashboard.
Come vengono memorizzate le credenziali
I valori di tutte e quattro le piattaforme vengono salvati come un unico blob JSON cifrato in AWS Secrets Manager all'indirizzo contentflows/tenants/YOUR_TENANT_ID/social-tokens. I secret non vengono mai registrati, non vengono mai mostrati di nuovo dopo il salvataggio e sono isolati sul tuo account. ContentFlows non memorizza mai la tua password dei social media.
ContentFlows usa l'API LinkedIn UGC Posts per pubblicare per tuo conto. Ti serve un token di accesso con lo scope di autorizzazione w_member_social, più l<i>member URN</i> dellaccount sotto cui dovrebbero apparire i post.
Campi che ContentFlows ti chiederà
LINKEDIN_ACCESS_TOKEN- Token di accesso OAuth 2.0 (durata 60 giorni). Inizia con AQV… o simile.
LINKEDIN_AUTHOR_ID- Member URN — ha l'aspetto di urn:li:person:XXXXXXXXXX oppure urn:li:organization:NNNNNN per una Company Page.
Prerequisiti
- Un account LinkedIn (profilo personale) — i post verranno pubblicati da questo account
- Un account sviluppatore LinkedIn gratuito — lo crei automaticamente quando crei un'app
Passo per passo
Vai al LinkedIn Developer Portal
Compila i dettagli dell'app
- App name: qualsiasi cosa — ad esempio “ContentFlows Publisher”
- LinkedIn page: devi collegare una LinkedIn Company Page. Se non ne hai una, creane prima una base (gratuita).
- App logo: carica qualsiasi immagine quadrata
Richiedi il prodotto 'Share on LinkedIn'
Aggiungi il tuo redirect URI
https://www.linkedin.com/developers/tools/oauth/redirectFai clic su Update.
Genera il token di accesso
w_member_social (e r_liteprofile se disponibile), fai clic su Request access token, fai clic su Allow. Copia il token — non verrà mostrato di nuovo. Questo è il tuo LINKEDIN_ACCESS_TOKEN.Trova il tuo Member URN
GET https://api.linkedin.com/v2/userinfoLa risposta contiene
sub — prefissalo con urn:li:person: per formare il tuo URN. Ad esempio, se sub = "ABC123xyz", il tuo URN è urn:li:person:ABC123xyz. Questo è il tuo LINKEDIN_AUTHOR_ID.urn:li:organization:COMPANY_PAGE_NUMERIC_ID — l'ID numerico è visibile nell'URL di amministrazione della Page.Incolla entrambi i valori in ContentFlows
ContentFlows pubblica su una Facebook Page (non su un profilo personale). Ti serve un Page access token con il permesso pages_manage_posts, più il Page ID numerico.
Campi che ContentFlows ti chiederà
FB_PAGE_ACCESS_TOKEN- Token di accesso Page long-lived (60 giorni) da Meta for Developers.
FB_PAGE_ID- L'ID numerico della Facebook Page che gestisci (ad esempio 123456789012345).
Prerequisiti
- Un account Facebook che sia Admin di una Facebook Page
- Se non hai ancora una Facebook Page, creane una su facebook.com/pages/create (gratuita, richiede 2 minuti)
Passo per passo
Apri il portale Meta for Developers
Seleziona il tipo di app e compila i dettagli
Aggiungi il prodotto Facebook Login
Ottieni un token utente dal Graph API Explorer
- Nel menu a discesa in alto a destra, seleziona la tua app
- Fai clic su Generate Access Token
- Nel popup delle autorizzazioni, seleziona tutte queste:
pages_manage_posts— richiesto per pubblicare i post (lo scope che manca più spesso)pages_read_engagementpages_show_listbusiness_managementinstagram_basic— solo se prevedi di riutilizzare questo token per Instagraminstagram_content_publish— solo se prevedi di riutilizzare questo token per Instagram
- Fai clic su Generate Access Token e autorizza
Estendi il token utente a long-lived (60 giorni)
Ricava il token di accesso Page E il Page ID
GET /me/accounts → SubmitNella risposta JSON, trova la tua Page. Ha due campi importanti:
access_token→ questo è il tuoFB_PAGE_ACCESS_TOKEN— poiché lo hai derivato da un token utente long-lived, questo Page token non scade maiid→ questo è il tuoFB_PAGE_ID
Incolla entrambi i valori in ContentFlows
Verifica che il token abbia gli scope corretti (opzionale ma consigliato)
- Type:
PAGE(nonUSER— se indica USER, nel passaggio 6 hai copiato il token sbagliato) - Expires: Never (se mostra una data, hai saltato il passaggio 5 — il token utente era ancora a breve durata quando hai chiamato
/me/accounts) - Scopes: deve includere
pages_manage_posts. Se manca, non hai selezionato quella casella nel passaggio 4 — ricomincia dal passaggio 4.
{"error":{"message":"(#200) Permissions error"}}, il token quasi sempre non include pages_manage_posts. Verifica con il debugger (passaggio 8) e rigenera se necessario.La pubblicazione su Instagram usa la Facebook Graph API, quindi il tuo account Instagram deve essere un account Professional (Business o Creator) collegato a una Facebook Page. Gli account Instagram personali non possono pubblicare via API.
Campi che ContentFlows ti chiederà
IG_ACCESS_TOKEN- Opzionale — lascia vuoto e ContentFlows utilizzerà FB_PAGE_ACCESS_TOKEN come fallback. Compilalo solo se hai un token Instagram dedicato.
IG_BUSINESS_ACCOUNT_ID- L'ID Instagram Business Account collegato alla tua Facebook Page (ad esempio 17841412345678901).
Prerequisiti
- Un account Instagram Business o Creator (non un account personale)
- Quell'account Instagram collegato a una Facebook Page che gestisci
- Un'app sviluppatore Meta con il permesso
instagram_content_publish
Converti a un account Professional (se necessario)
Cambia il tipo di account nell'app Instagram
Collega Instagram alla tua Facebook Page
Ottieni l'Instagram Business Account ID
Apri il Graph API Explorer
instagram_basic, instagram_content_publish, pages_read_engagement, pages_manage_postsTrova il tuo Instagram Business Account ID
GET /me/accounts. Trova la tua Page e copia il suo id. Quindi esegui:GET /{page-id}?fields=instagram_business_account(sostituisci
{page-id} con il tuo Page ID). La risposta contiene un oggetto instagram_business_account — copia il suo id. Questo è il tuo IG_BUSINESS_ACCOUNT_ID.Incolla i valori in ContentFlows
IG_BUSINESS_ACCOUNT_ID.YouTube
ContentFlows usa la YouTube Data API v3 per generare metadati video (titoli, descrizioni, tag) per il tuo calendario dei contenuti. Ti serve una chiave API da Google Cloud Console e l'ID del tuo canale.
Campi che ContentFlows ti chiederà
YOUTUBE_API_KEY- Chiave API Google Cloud con YouTube Data API v3 abilitata. Inizia con AIza…
YOUTUBE_CHANNEL_ID- L'ID del tuo canale YouTube (ad esempio UCxxxxxxxxxxxxxxxxxxxxxx). Lo trovi in YouTube Studio → Settings → Channel → Advanced settings.
Prerequisiti
- Un account Google
- Un canale YouTube collegato a quell'account
- Un progetto Google Cloud gratuito (lo crei durante il primo passaggio)
Passo per passo
Crea un progetto Google Cloud
Abilita la YouTube Data API v3
Crea una chiave API
YOUTUBE_API_KEY.Trova il tuo YouTube Channel ID
UC. Questo è il tuo YOUTUBE_CHANNEL_ID.Incolla entrambi i valori in ContentFlows
Dominio di invio (DKIM / SPF / DMARC)
Per impostazione predefinita le newsletter partono da noreply@contentflows.cc. Autenticare il tuo dominio migliora la deliverability (meno finiture nella cartella spam) perché l'indirizzo From corrisponde alle firme DKIM e al brand visibile.
Prerequisiti
- Possiedi un dominio (ad esempio
your-business.com). - Puoi creare record DNS presso il tuo registrar (Cloudflare, Route53, GoDaddy, Namecheap, ecc.).
Passo per passo
Avvia il flusso
your-business.com) → fai clic su Save & show DNS records.Copia i 5 record DNS
- 3 × CNAME (token DKIM)
- 1 × TXT sul dominio radice (SPF)
- 1 × TXT su
_dmarc.your-domain.com(DMARC)
Incolla nel tuo provider DNS
abc123._domainkey.your-domain.com).Verifica
Fatto
newsletter@your-domain.com come intestazione From, con firme DKIM, SPF pass e allineamento DMARC.noreply@contentflows.cc.Importazione degli iscritti
Il pulsante + Import della scheda Newsletter apre una modale con tre tab:
Upload CSV
Carica un file .csv. La riga di intestazione viene rilevata automaticamente (qualsiasi colonna il cui nome contiene email viene trattata come colonna email; qualsiasi colonna con name o first viene trattata come nome). Gli indirizzi email non validi vengono rifiutati; i duplicati vengono ignorati. Spunta la casella di consenso prima che Import si abiliti.
Mailchimp
Incolla la tua chiave API Mailchimp (formato: abc123...-us21 — la parte dopo l'ultimo trattino è il data center) e l'Audience ID (dashboard Mailchimp Audience → Settings → Audience name and defaults → Audience ID). ContentFlows recupera tutti i membri iscritti.
ConvertKit
Incolla la tua chiave API ConvertKit (Settings → Advanced → API Key). Vengono importati tutti gli iscritti confermati.
Problemi comuni
- Mailchimp 401 Unauthorized — la chiave API è errata oppure l'account l'ha disabilitata. Rigenerala in Mailchimp → Account → Extras → API keys.
- “Nessun indirizzo email valido” — il parser CSV non ha rilevato una colonna email. Verifica che ci sia una riga di intestazione e una colonna chiamata letteralmente
email. - L'importazione termina all'istante con 0 aggiunti — ogni riga era già nella tua lista. È normale nei riesecuzioni.
Problemi comuni
Il token non è valido o è scaduto
I token di accesso scadono. I token LinkedIn durano circa 60 giorni. I token Page Facebook/Instagram non scadono mai quando derivano da un token utente long-lived (segui esattamente i passaggi nella sezione Facebook). Genera un nuovo token e aggiornalo in Integrations.
Facebook: (#200) Permissions error alla pubblicazione
Di gran lunga la causa più comune: il token della Page non include lo scope pages_manage_posts. Questo scope è facile da dimenticare nel popup delle autorizzazioni perché Graph API Explorer non lo abilita per impostazione predefinita. Verifica il token nell<a>Access Token Debugger</a> — se <code>pages_manage_posts</code> non è nellelenco degli scope, rigenera il token partendo dal Passaggio 4 della guida Facebook e spunta esplicitamente quel permesso.
LinkedIn: URN non valido
Il Member URN deve iniziare con urn:li:person: (per i profili personali) o urn:li:organization: (per le Company Page) seguito dall'ID univoco dell'account. Una semplice stringa numerica o alfanumerica, da sola, non è un URN valido.
Permessi insufficienti su LinkedIn
La tua app LinkedIn non ha il prodotto Share on LinkedIn approvato, oppure il token è stato generato senza w_member_social. Torna al passaggio 3 della guida LinkedIn, quindi rigenera il token.
Facebook: Page ID errato
Il Page ID è il campo numerico id di /me/accounts, NON il nome utente leggibile nell'URL della Page. Se incolli per errore il nome utente, i post falliranno.
Devi essere admin della Facebook Page
L'account Facebook che ha generato il token non è un Admin della Page di destinazione. Chiedi all'admin della Page di generare lui stesso il token, oppure fatti aggiungere come Admin su facebook.com → Page settings → Page roles.
Instagram: non è un account Business o Creator
Gli account Instagram personali non possono usare la Content Publishing API. Segui i passaggi di conversione sopra.
Instagram: account non collegato a una Facebook Page
Il tuo account Instagram Professional non è collegato a una Facebook Page. Vai su Instagram Settings → Account → Linked Accounts → Facebook e completa il collegamento.
YouTube: quota API superata
YouTube Data API ha una quota predefinita di 10,000 units/day, più che sufficiente per le ricerche di metadati di ContentFlows. Se raggiungi il limite, è probabile che la stessa chiave API venga usata altrove — crea una chiave dedicata per ContentFlows.
Ancora bloccato?
Contatta il supporto con il messaggio di errore e la piattaforma che stai collegando. Includi il numero del passaggio in cui ti sei bloccato.