Estou tentando automatizar a publicação em redes sociais no Facebook, Instagram, X, YouTube e TikTok usando n8n e Buffer. Meu plano original era ler arquivos locais, sincronizá-los com o Google Drive para obter uma URL pública e depois passar essa URL para o Buffer. No entanto, não consigo autenticar o n8n com o Google Drive, recebendo um erro de timeout de conexão.
Erro: connect ETIMEDOUT 74.125.199.95:443
Mais detalhes
Falha ao conectar. Agora você pode fechar a janela.
Suspeito que isso se deva a restrições de rede da China continental?? mas todo o resto funciona muito bem.
Como posso resolver esse problema de conexão, ou existem maneiras ou soluções alternativas para conseguir uma URL de vídeo para o Buffer sem depender do Google Drive?
A alternativa mais robusta e acessível para usuários da sua região é o Cloudflare R2. É um serviço de armazenamento de objetos compatível com S3 que é geralmente muito mais acessível e oferece uma maneira simples de gerar URLs públicas.
Siga este guia:
1. Configurar o Cloudflare R2
Faça login no seu painel do Cloudflare → R2 → Create Bucket.
Dê um nome ao seu bucket (p. ex., social-media-assets).
Passo Crucial: Vá para Settings → Public Access do bucket.
Ative o R2.dev subdomain (para testes) ou conecte um Custom Domain (recomendado para produção). Isso fornece a URL base (p. ex., https://pub-aaa.r2.dev ou https://cdn.yourdomain.com).
2. Configurar o Nó S3 no n8n
Como o R2 usa o protocolo S3, use o nó S3 no n8n:
Credentials: Crie uma credencial S3.
Access Key ID & Secret Access Key: Obtenha-os na página “Manage R2 API Tokens” do R2 no Cloudflare.
Endpoint: Use seu endpoint S3 do R2 (p. ex., https://<accountid>.r2.cloudflarestorage.com).
Operation:Upload a File.
Bucket:social-media-assets.
File Content: Passe os dados binários do seu nó de leitura de arquivo local.
3. Construir a URL Pública
O nó S3 carrega o arquivo, mas não “retorna” a URL pública automaticamente. Você pode construí-la facilmente usando um nó Set ou uma expressão: https://your-public-endpoint.com/{{ $json.key }}(Onde {{ $json.key }} é o nome do arquivo/caminho retornado pelo nó S3).
4. Passar a URL para o Buffer
Agora, use o nó HTTP Request para chamar a API do Buffer:
Opa @Aria o timeout é o Great Firewall, não o n8n. 74.125.x.x é um range do Google, e as APIs do Google, incluindo Drive, são bloqueadas da China continental. A falha da janela OAuth é esperada. Seus outros nodes funcionam porque não estão acessando o Google.
A abordagem R2 do kjooleng é sólida como arquitetura, mas há uma coisa importante a esclarecer antes de você perder tempo com isso: Cloudflare não é uma forma confiável de contornar o firewall. Os IPs do Cloudflare sofrem throttling e reset pelo GFW dependendo da província e ISP, e o subdomínio público r2.dev especificamente tem um histórico de ser bloqueado na China continental. Se você for usar R2, use um domínio customizado, não r2.dev.
Mas aqui está a parte que realmente importa para sua configuração. Apenas um lado disso precisa atravessar o firewall: seu box n8n fazendo upload do arquivo. O Buffer puxa a URL de seus próprios servidores fora da China, então uma URL sendo bloqueada dentro da China não afeta o Buffer em nada. Isso inverte a questão. Não é „a URL está acessível da China", é „minha instância n8n consegue alcançar o endpoint de storage para fazer upload."
Então antes de se comprometer:
Teste o endpoint de upload do seu host n8n. Para R2 é curl -I https://<accountid>.r2.cloudflarestorage.com. Se travar, o upload vai travar também.
Se for instável, pule a briga e use um object store nativo da China: Alibaba Cloud OSS ou Tencent COS. Ambos são compatíveis com S3, ambos dão a você uma URL pública que o Buffer consegue buscar, e nenhum dos dois depende das condições do GFW se mantendo estáveis dia após dia. Para alguém operando dentro da China continental, esse é geralmente o caminho de menor manutenção.
Mesmo padrão de qualquer forma: faz upload do arquivo, constrói a URL pública, passa para o Buffer. A única decisão real é qual endpoint de storage seu box n8n consegue conversar de forma confiável.
alibaba oss ou tencent cos é a direção correta já que você está dentro do grande firewall, mas teste a URL real de fora da China também antes de implementar. alguns CDNs regionais parecem públicos localmente e depois os servidores do scheduler não conseguem alcançá-los, o que apenas inverte o problema de conectividade.
qualquer que seja o armazenamento escolhido, a URL tem que permanecer pública e não-expirada quando o scheduler a busca, não apenas quando você a testa 10 minutos antes. URLs assinadas expirando antes da publicação é uma falha muito comum que parece um bug da plataforma.
eu tive o mesmo tipo de problema rodando blotato do n8n. a causa raiz era uma URL de preview/temporária em vez de um arquivo público real. um diagnóstico útil: erros de media-fetch às vezes mostram o primeiro caractere da resposta, então um e pode apontar para uma URL expirada. e se o Google Drive voltar depois, use o formato drive.usercontent.google.com/download com o ID do arquivo. o link /view normal não funcionará para isso.
Analisamos essa questão e não conseguimos confirmar que se trata de um bug. Por enquanto, fechamos o chamado interno, mas se começar a parecer que é um bug, nossa equipe de moderação sinalizará isso novamente.
A abordagem do Cloudflare R2 do kjooleng é o caminho certo aqui. Algumas coisas a observar se você estiver executando n8n auto-hospedado dentro da China:
Hospede n8n fora da China: Se sua instância de n8n estiver dentro do firewall, todas as chamadas de saída para as APIs do Google (não apenas Drive) terão o mesmo ETIMEDOUT. Considere implantar n8n em um servidor fora da China continental (por exemplo, região HK, Singapura) e agendar fluxos de trabalho a partir de lá.
Alternativa para URLs de vídeo: Se você só precisa de uma URL pública para vídeos passar ao Buffer, você também pode usar Alibaba Cloud OSS (aliyuncs) ou Tencent COS — ambos são confiáveis dentro da China e suportam URLs pré-assinadas/públicas. O nó compatível com S3 do n8n funciona com ambos.
Nota da API do Buffer: Buffer aceita URLs de vídeo diretas, portanto qualquer URL de CDN pública (R2, OSS, COS) funcionará, desde que seja publicamente acessível.
O IP 74.125.199.95 pertence ao Google. O erro connect ETIMEDOUT significa que sua instância n8n está tentando iniciar um handshake TCP com os servidores da API do Google, mas a conexão está sendo totalmente descartada pelo firewall de rede (muito comum com restrições da China continental).
Como seu objetivo é apenas obter uma URL pública para passar ao Buffer, você tem duas formas de resolver isso:
Opção 1: Rotear tráfego do n8n através de um Proxy (Se você deve usar o Google Drive)
Se você tem um servidor proxy localizado fora da região restrita, pode forçar o n8n a rotear seu tráfego através dele. Você precisa adicionar essas variáveis de ambiente ao seu docker-compose.yml do n8n:
environment:
- HTTP_PROXY=[http://your.proxy.server.ip](http://your.proxy.server.ip):port
- HTTPS_PROXY=[http://your.proxy.server.ip](http://your.proxy.server.ip):port
- NO_PROXY=localhost,127.0.0.1 # Crucial para que webhooks locais do n8n não sejam roteados através do proxy
Opção 2: Armazenamento em Nuvem Alternativo (Altamente Recomendado para Buffer) Se configurar um proxy for muito incômodo, a melhor solução é contornar o Google inteiramente e usar um serviço que não esteja bloqueado e que funcione melhor com mídia.
Cloudinary: Esta é honestamente a melhor opção para postagens em redes sociais. Tem um nó dedicado no n8n, geralmente não é alvo de bloqueios gerais e gera automaticamente URLs públicas otimizadas para imagens/vídeos. (Fluxo de trabalho: Ler Arquivo Local -\ Enviar para Cloudinary -\ Passar URL do Cloudinary para Buffer)
AWS S3 / DigitalOcean Spaces / Bunny.net: Armazenamento de objetos padrão. Você pode enviar o arquivo binário para lá (hospedando o bucket fora da zona restrita) e construir uma URL pública somente leitura para enviar ao Buffer.
Mudar para Cloudinary ou S3 provavelmente será muito mais estável para seu pipeline automatizado de redes sociais do que lutar contra o firewall para acessar o Google Drive. Espero ter ajudado!