Skip to content

Bug Report — Instagram OAuth: account_id não salvo após autenticação #69

@dbadaniel

Description

@dbadaniel

Arquivo: social-auth/auth/instagram.py — função callback(), linhas 86–131

Após completar o fluxo OAuth do Instagram com sucesso (token trocado, permissões concedidas), o ACCOUNT_ID e o PAGE_TOKEN não eram salvos no .env. O cliente da integração (instagram_client.py) depende dessas variáveis para fazer qualquer chamada à API — sem elas, todos os comandos retornam "error": "No account_id or token configured".

Causa raiz A função callback() busca as Páginas do usuário via GET /me/accounts imediatamente após a troca do token. A API do Meta tem um delay de propagação: o endpoint pode retornar {"data": []} por alguns segundos mesmo quando o usuário autorizou corretamente. Quando isso acontecia, o código caía no branch de fallback (saved_count == 0) e salvava apenas o ACCESS_TOKEN, omitindo ACCOUNT_ID e PAGE_TOKEN.

Reprodução

Rodar make social-auth e completar o fluxo OAuth do Instagram
Verificar o .env — SOCIAL_INSTAGRAM_1_ACCOUNT_ID estará vazio
Rodar python3 .claude/skills/int-instagram/scripts/instagram_client.py profile → retorna erro

Correção aplicada Adicionado retry com time.sleep(3) antes de cair no fallback: se me/accounts retornar lista vazia, o callback aguarda 3 segundos e tenta novamente. Cobre o delay de propagação da API do Meta na grande maioria dos casos.

Sugestão adicional O branch de fallback (saved_count == 0) ainda existe para casos onde a conta realmente não tem Página vinculada. Seria útil exibir uma mensagem de aviso na UI nesse caso, em vez de silenciosamente salvar um token incompleto.

Aliás, poderiam deixar uma rotina no make para fazer o start deste processo de conexão das redes sociais!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions