Resolução de problemas e guias de tokens
Instruções passo a passo para ligar LinkedIn, Facebook, Instagram e YouTube ao ContentFlows. Cada plataforma requer two values: um token de acesso (o que concede permissão) e um ID (para qual conta / página / canal publicar). Ambos são colados no seu painel.
Como as credenciais são armazenadas
Os valores das quatro plataformas são guardados como um único blob JSON encriptado no AWS Secrets Manager em contentflows/tenants/YOUR_TENANT_ID/social-tokens. Os segredos nunca são registados, nunca voltam a ser mostrados depois de guardados e ficam isolados na sua conta. O ContentFlows nunca armazena a sua palavra-passe das redes sociais.
O ContentFlows usa a LinkedIn UGC Posts API para publicar em seu nome. Precisa de um token de acesso com o âmbito de permissão w_member_social, além do member URN da conta sob a qual as publicações devem aparecer.
Campos que o ContentFlows lhe vai pedir
LINKEDIN_ACCESS_TOKEN- Token de acesso OAuth 2.0 (duração de 60 days). Começa por AQV… ou semelhante.
LINKEDIN_AUTHOR_ID- Member URN — parece-se com urn:li:person:XXXXXXXXXX ou urn:li:organization:NNNNNN para uma Company Page.
Pré-requisitos
- Uma conta LinkedIn (perfil pessoal) — as publicações serão feitas a partir desta conta
- Uma conta de programador do LinkedIn gratuita — cria uma automaticamente quando cria uma app
Passo a passo
Vá ao LinkedIn Developer Portal
Preencha os detalhes da app
- App name: qualquer coisa — por exemplo, “ContentFlows Publisher”
- LinkedIn page: tem de associar uma LinkedIn Company Page. Se não tiver uma, crie primeiro uma página de empresa básica (gratuita).
- App logo: carregue qualquer imagem quadrada
Solicite o produto 'Share on LinkedIn'
Adicione o seu redirect URI
https://www.linkedin.com/developers/tools/oauth/redirectClique em Update.
Gere o token de acesso
w_member_social (e r_liteprofile se disponível), clique em Request access token, clique em Allow. Copie o token — não será mostrado novamente. Este é o seu LINKEDIN_ACCESS_TOKEN.Encontre o seu Member URN
GET https://api.linkedin.com/v2/userinfoA resposta contém
sub — acrescente-lhe o prefixo urn:li:person: para formar o seu URN. Por exemplo, se sub = "ABC123xyz", o seu URN é urn:li:person:ABC123xyz. Este é o seu LINKEDIN_AUTHOR_ID.urn:li:organization:COMPANY_PAGE_NUMERIC_ID — o ID numérico é visível no URL de administração da Page.Cole ambos os valores no ContentFlows
O ContentFlows publica numa Facebook Page (não num perfil pessoal). Precisa de um Page access token com permissão pages_manage_posts, além do Page ID numérico.
Campos que o ContentFlows lhe vai pedir
FB_PAGE_ACCESS_TOKEN- Token de acesso de Page de longa duração (60 days) da Meta for Developers.
FB_PAGE_ID- O ID numérico da Facebook Page que gere (por exemplo, 123456789012345).
Pré-requisitos
- Uma conta Facebook que seja Admin de uma Facebook Page
- Se ainda não tiver uma Facebook Page, crie uma em facebook.com/pages/create (gratuito, demora 2 minutes)
Passo a passo
Abra o portal Meta for Developers
Selecione o tipo de app e preencha os detalhes
Adicione o produto Facebook Login
Obtenha um token de utilizador no Graph API Explorer
- No menu pendente no canto superior direito, selecione a sua app
- Clique em Generate Access Token
- Na janela de permissões, assinale todas estas:
pages_manage_posts— necessário para publicar posts (o âmbito em falta mais comum)pages_read_engagementpages_show_listbusiness_managementinstagram_basic— apenas se tenciona reutilizar este token para o Instagraminstagram_content_publish— apenas se tenciona reutilizar este token para o Instagram
- Clique em Generate Access Token e autorize
Estenda o token de utilizador para longa duração (60 days)
Derive o token de acesso da Page E o Page ID
GET /me/accounts → SubmeterNa resposta JSON, encontre a sua Page. Tem dois campos importantes:
access_token→ este é o seuFB_PAGE_ACCESS_TOKEN— porque o derivou de um token de utilizador de longa duração, este token de Page nunca expiraid→ este é o seuFB_PAGE_ID
Cole ambos os valores no ContentFlows
Verifique se o token tem os âmbitos corretos (opcional mas recomendado)
- Type:
PAGE(nãoUSER— se disser USER, copiou o token errado no passo 6) - Expires: Never (se mostrar uma data, saltou o passo 5 — o token de utilizador ainda era de curta duração quando chamou
/me/accounts) - Scopes: tem de incluir
pages_manage_posts. Se estiver em falta, não assinalou essa caixa no passo 4 — reinicie a partir do passo 4.
{"error":{"message":"(#200) Permissions error"}}, o token quase sempre não tem o âmbito pages_manage_posts. Verifique com o debugger (passo 8) e regenere se necessário.A publicação no Instagram usa a Facebook Graph API, pelo que a sua conta Instagram tem de ser uma Professional account (Business ou Creator) ligada a uma Facebook Page. Contas pessoais do Instagram não podem publicar via API.
Campos que o ContentFlows lhe vai pedir
IG_ACCESS_TOKEN- Opcional — deixe em branco e o ContentFlows recorre ao FB_PAGE_ACCESS_TOKEN. Preencha apenas se tiver um token dedicado do Instagram.
IG_BUSINESS_ACCOUNT_ID- O Instagram Business Account ID ligado à sua Facebook Page (por exemplo, 17841412345678901).
Pré-requisitos
- Uma conta Instagram Business ou Creator (não uma conta pessoal)
- Essa conta Instagram ligada a uma Facebook Page que gere
- Uma app de programador da Meta com permissão
instagram_content_publish
Converter para uma Professional account (se necessário)
Mude o tipo de conta na aplicação Instagram
Ligue o Instagram à sua Facebook Page
Obter o Instagram Business Account ID
Abra o Graph API Explorer
instagram_basic, instagram_content_publish, pages_read_engagement, pages_manage_postsEncontre o seu Instagram Business Account ID
GET /me/accounts. Encontre a sua Page e copie o respetivo id. Depois execute:GET /{page-id}?fields=instagram_business_account(substitua
{page-id} pelo ID da sua Page). A resposta contém um objeto instagram_business_account — copie o respetivo id. Este é o seu IG_BUSINESS_ACCOUNT_ID.Cole os valores no ContentFlows
IG_BUSINESS_ACCOUNT_ID.YouTube
O ContentFlows usa a YouTube Data API v3 para gerar metadados de vídeo (títulos, descrições, tags) para o seu calendário de conteúdo. Precisa de uma API key da Google Cloud Console e do ID do seu canal.
Campos que o ContentFlows lhe vai pedir
YOUTUBE_API_KEY- API key da Google Cloud com a YouTube Data API v3 ativada. Começa por AIza…
YOUTUBE_CHANNEL_ID- O ID do seu canal YouTube (por exemplo, UCxxxxxxxxxxxxxxxxxxxxxx). Encontre-o em YouTube Studio → Settings → Channel → Advanced settings.
Pré-requisitos
- Uma conta Google
- Um canal YouTube ligado a essa conta
- Um projeto Google Cloud gratuito (cria um durante o primeiro passo)
Passo a passo
Crie um projeto Google Cloud
Ative a YouTube Data API v3
Crie uma API key
YOUTUBE_API_KEY.Encontre o seu YouTube Channel ID
UC. Este é o seu YOUTUBE_CHANNEL_ID.Cole ambos os valores no ContentFlows
Domínio de envio (DKIM / SPF / DMARC)
Por predefinição, as newsletters são enviadas de noreply@contentflows.cc. Autenticar o seu próprio domínio melhora a entregabilidade (menos mensagens na pasta de spam) porque o endereço From corresponde às assinaturas DKIM e à sua marca visível.
Pré-requisitos
- É proprietário de um domínio (por exemplo,
your-business.com). - Pode criar registos DNS no seu registrador (Cloudflare, Route53, GoDaddy, Namecheap, etc.).
Passo a passo
Inicie o fluxo
your-business.com) → clique em Save & show DNS records.Copie os 5 registos DNS
- 3 × CNAME (tokens DKIM)
- 1 × TXT na raiz (SPF)
- 1 × TXT em
_dmarc.your-domain.com(DMARC)
Cole no seu fornecedor de DNS
abc123._domainkey.your-domain.com).Verifique
Concluído
newsletter@your-domain.com como cabeçalho From, com assinaturas DKIM, SPF aprovado e alinhamento DMARC.noreply@contentflows.cc.Importar subscritores
O botão + Import do separador Newsletter abre um modal com três separadores:
Carregamento CSV
Carregue um ficheiro .csv. A linha de cabeçalho é detetada automaticamente (qualquer coluna cujo nome contenha email é tratada como coluna de email; qualquer coluna com name ou first é tratada como nome). Endereços de email inválidos são rejeitados; duplicados são ignorados. Marque a caixa de consentimento antes de o Import ser ativado.
Mailchimp
Cole a sua Mailchimp API key (formato: abc123...-us21 — a parte depois do último hífen é o data center) e o Audience ID (painel do Mailchimp Audience → Settings → Audience name and defaults → Audience ID). O ContentFlows obtém todos os membros subscritos.
ConvertKit
Cole a sua ConvertKit API key (Settings → Advanced → API Key). Todos os subscritores confirmados são importados.
Problemas comuns
- Mailchimp 401 Unauthorized — a API key está errada ou a conta desativou-a. Regere em Mailchimp → Account → Extras → API keys.
- “No valid email addresses” — o analisador CSV não detetou uma coluna de email. Confirme que existe uma linha de cabeçalho e uma coluna chamada literalmente
email. - A importação termina instantaneamente com 0 adicionados — todas as linhas já estavam na sua lista. Isso é normal em repetições.
Problemas comuns
O token é inválido ou expirou
Os tokens de acesso expiram. Os tokens do LinkedIn duram ~60 days. Os tokens de Page do Facebook/Instagram nunca expiram quando derivados de um token de utilizador de longa duração (siga exatamente os passos da secção Facebook). Gere um novo token e atualize-o em Integrations.
Facebook: (#200) Permissions error na publicação
De longe, a causa mais comum: o token da Page não tem o âmbito pages_manage_posts. Este âmbito é fácil de falhar na janela de permissões porque o Graph API Explorer não o ativa por predefinição. Verifique o seu token no Access Token Debugger — se pages_manage_posts não estiver na lista de âmbitos, regenere o token a partir do Passo 4 do guia Facebook e marque explicitamente essa permissão.
LinkedIn: URN inválido
O Member URN tem de começar por urn:li:person: (para perfis pessoais) ou urn:li:organization: (para Company Pages) seguido do ID único da conta. Uma cadeia numérica ou alfanumérica simples não é, por si só, uma URN válida.
Permissões insuficientes no LinkedIn
A sua app LinkedIn não tem o produto Share on LinkedIn aprovado, ou o token foi gerado sem w_member_social. Volte ao passo 3 do guia LinkedIn e depois regenere o token.
Facebook: Page ID incorreto
O Page ID é o campo numérico id de /me/accounts, NÃO o nome de utilizador legível no URL da Page. Se colar o nome de utilizador por engano, as publicações falharão.
Tem de ser administrador da Facebook Page
A conta Facebook que gerou o token não é Admin da Page de destino. Peça ao administrador da Page para gerar o token, ou adicione-se como Admin em facebook.com → Page settings → Page roles.
Instagram: não é uma conta Business ou Creator
Contas pessoais do Instagram não podem usar a Content Publishing API. Siga os passos de conversão acima.
Instagram: conta não ligada a uma Facebook Page
A sua conta Instagram Professional não está ligada a uma Facebook Page. Vá a Instagram Settings → Account → Linked Accounts → Facebook e conclua a ligação.
YouTube: quota da API excedida
A YouTube Data API tem uma quota predefinida de 10,000 units/day, o que é mais do que suficiente para pesquisas de metadados do ContentFlows. Se atingir o limite, é provável que a mesma API key esteja a ser usada noutro lugar — crie uma key dedicada para o ContentFlows.
Ainda está com dificuldades?
Contacte o suporte com a mensagem de erro e indique a plataforma que está a ligar. Inclua o número do passo em que ficou bloqueado.