Voltar ao app
Cadence · Docs
Integração · Instagram Graph API v24

Conectar uma conta do Instagram

Guia completo para conectar uma conta Instagram Business ao Cadence. Aproximadamente 10–15 minutos — os passos são manuais porque a Meta não tem OAuth direto pra apps terceiros sem revisão (ainda). Faça uma vez, dura 60 dias com auto-refresh.

Visão geral

Você vai precisar de 3 credenciais que o Cadence usa internamente pra publicar em seu nome:

CampoO que éOnde pega
access_token Token long-lived (60 dias, auto-refresh) Graph API Explorer + exchange
business_account_id ID numérico da sua conta IG Business 1 chamada na Graph API
app_secret Secret do seu app Meta (pra auto-refresh) Meta Developer Portal
Dica: abra esta página num lado da tela e developers.facebook.com no outro — os passos são na ordem, você copia e cola.

Pré-requisitos da conta Instagram

1. Conta precisa ser Business ou Creator

No app do Instagram: Settings → Account → Switch to Professional Account → escolhe Business (recomendado pra analytics completo). Se já é, pula.

2. Conta IG precisa estar linkada a uma Página do Facebook

A Graph API só enxerga contas IG através de uma Facebook Page. Se você não tem Page:

  1. Vai em facebook.com/pages/create
  2. Cria uma Page tipo Business (qualquer nome — pode ser o nome da marca)
  3. Linka o Instagram em Page Settings → Linked Accounts → Instagram
Regra da Meta (sem workaround): se não houver Page ligada, a API retorna instagram_business_account: null no Passo 5 e o fluxo inteiro trava.

1Criar (ou reusar) um Meta App

Abra developers.facebook.com/apps. Se já tem um app pro Stackln/Cadence, use o mesmo. Senão:

  1. Create App → tipo Business → dá um nome (ex: "Cadence Publisher")
  2. Dentro do app, Settings → Basic → copia estes dois valores:
App IDfica visível, copia direto
App Secretclica "Show" → autentica → copia

Adicionar os produtos necessários

No menu lateral + Add Product:

  • Instagram Graph API — pra publicar
  • Facebook Login for Business — pra o OAuth
Pra MVP com 1 conta sua (developer), não precisa passar por App Review da Meta. Só precisa de revisão quando você quiser publicar em contas de outros usuários.

2Conectar IG à Facebook Page

Se você já fez no pré-requisito, pula este. Senão:

  1. Abre a Facebook Page que você criou/tem
  2. Page Settings → Linked Accounts → Instagram → Connect Account
  3. Autentica com @clubinhodalia (ou a conta que quer conectar)
Confirma que você é admin dessa Page. Se for só "editor", a Graph API não vai deixar você gerar token com os escopos certos no passo 3.

3Gerar User Access Token (curto)

Abra o Graph API Explorer:

  1. Canto superior direito: selecione seu app (o do Passo 1)
  2. Em User or Page, escolha Get User Access Token
  3. Clique Add a Permission e marque todos os escopos abaixo:
instagram_basic instagram_content_publish instagram_manage_insights pages_show_list pages_read_engagement business_management
  1. Clica Generate Access Token
  2. Autoriza na popup (pode pedir 2FA)
  3. O campo Access Token preenche com um token começando em EAAx...
Este token dura apenas 1 hora. Não use ele no Cadence — precisa trocar por long-lived no próximo passo.

4Trocar por token long-lived (60 dias)

Abra um terminal, cole os seus valores e execute:

APP_ID="seu_app_id_do_passo_1"
APP_SECRET="seu_app_secret_do_passo_1"
SHORT_TOKEN="token_do_passo_3"

curl -G \
  "https://graph.facebook.com/v24.0/oauth/access_token" \
  -d "grant_type=fb_exchange_token" \
  -d "client_id=$APP_ID" \
  -d "client_secret=$APP_SECRET" \
  -d "fb_exchange_token=$SHORT_TOKEN"

Resposta:

{
  "access_token": "EAAxxxx...ESTE É O LONG-LIVED",
  "token_type": "bearer",
  "expires_in": 5184000
}

Guarda o access_token dessa resposta. Vai ser a credencial principal.

5Pegar o business_account_id

Com o long-lived token, duas chamadas:

5a — Listar as pages que você gerencia

LONG_TOKEN="token_do_passo_4"

curl -G "https://graph.facebook.com/v24.0/me/accounts" \
  -d "access_token=$LONG_TOKEN"

Resposta lista suas Pages. Pegue o id da Page linkada ao @clubinhodalia:

{
  "data": [
    {
      "name": "Clubinho da Lia",
      "id": "12345678901234",     // <- este
      ...
    }
  ]
}

5b — Pegar o IG business account ligado a essa Page

PAGE_ID="id_da_page_do_5a"

curl -G "https://graph.facebook.com/v24.0/$PAGE_ID" \
  -d "fields=instagram_business_account" \
  -d "access_token=$LONG_TOKEN"

Resposta:

{
  "id": "12345678901234",
  "instagram_business_account": {
    "id": "17841401234567890"   // <- ESTE é o business_account_id
  }
}
Se vier instagram_business_account: null: a Page não está linkada a uma conta Instagram Business. Volta nos Pré-requisitos.

6Conectar no Cadence

Agora você tem tudo. No Cadence, na aba Instagram, clique em + Adicionar conta e preencha:

Campo no CadenceValor
Access tokenlong-lived do Passo 4
Business Account IDid do Passo 5b (ex: 17841...)
App IDdo Passo 1
App Secretdo Passo 1 (crítico pra auto-refresh)
Display nameopcional — ex: "Clubinho da Lia"

Clica Adicionar. O backend vai validar o token, buscar o profile (username, followers, media_count) e armazenar.

Depois do sucesso

O Cadence mantém o token vivo para sempre: a cada 24h um cron roda refresh_token com seu app_secret, resetando o prazo pra +60 dias. Você nunca mais precisa mexer.

Troubleshooting

"Invalid OAuth access token"

Token expirou (short-lived tem 1h). Volta no Passo 3, gera novo, e refaz o Passo 4.

"(#10) Application does not have permission for this action"

Faltou algum dos escopos no Passo 3. Apaga o token, volta pro Graph API Explorer e marca todos os 6 scopes listados.

"instagram_business_account: null"

A Page do Facebook não está linkada a uma conta IG Business. Solução: Page Settings → Linked Accounts → Instagram → Connect Account. Confirma que a conta IG está em modo Business (não Personal).

"The user must be an admin of the application"

Teu user do FB não é admin do app Meta. Vai em App Roles → Roles e se adiciona como Admin. Se o app foi criado por outra pessoa, ela precisa te promover.

Cadence diz "Invalid token or account"

Algum dos 4 valores está errado. Debug:

curl -G "https://graph.facebook.com/v24.0/$BUSINESS_ACCOUNT_ID" \
  -d "fields=username,followers_count,media_count" \
  -d "access_token=$LONG_TOKEN"

Se isso retorna JSON com username, as credenciais estão OK. Se erro, ajusta.

FAQ

Preciso passar por App Review da Meta?

Não pra usar você mesmo. Em Development mode, o app funciona pra admins/developers/testers registrados (até 25). Você só precisa de Review pra liberar pra outros usuários.

Posso conectar mais de uma conta?

Sim — repete os Passos 3–6 pra cada conta (cada uma tem seu business_account_id). O mesmo app_id e app_secret servem pra todas. O Cadence gerencia várias contas simultâneas.

Quanto tempo dura o token?

60 dias, com auto-refresh diário pelo Cadence → efetivamente ilimitado enquanto o `app_secret` estiver correto no banco.

E se eu trocar de app Meta depois?

Gera novo access_token e app_secret, vai em Instagram → ⋯ → Editar conta, cola os novos valores. Token e secret são swappable sem perder histórico.

O Cadence publica Reels e Stories também?

Feed image e Reel (vídeo) ✓. Stories ainda não está implementado no publisher — só carousel e feed single. Roadmap.