Estou usando nós de IA para gerar algum texto para postar no meu LinkedIn. Testei as credenciais usando uma requisição HTTP GET e sei que funciona.
Ao tentar criar a postagem com o texto gerado pela IA, recebo constantemente erros como:
400 - “{"status":400,"code":"ILLEGAL_ARGUMENT","message":"Request body could not be converted to data map"}”
Mensagem completa
422 - “{"message":"ERROR :: /## Audit Log Ingestion Lag\n\nImagine you’re trying to catch a thief who just left a store :: unrecognized field found but not allowed\nERROR :: /author :: field is required but not found and has no default value\nERROR :: /commentary :: field is required but not found and has no default value\nERROR :: /visibility :: field is required but not found and has no default value\nERROR :: /distribution :: field is required but not found and has no default value\nERROR :: /lifecycleState :: field is required but not found and has no default value\n","status":422}”
Por favor, compartilhe seu fluxo de trabalho
Não consigo copiar os nós, parece que não copia o texto (Edge no Windows 11)
Os nós de IA funcionam OK, é apenas a postagem no LinkedIn via requisição HTTP que não está funcionando
Compartilhe a saída retornada pelo último nó
422 - “{"message":"ERROR :: /## Audit Log Ingestion Lag\n\nImagine you’re trying to catch a thief who just left a store :: unrecognized field found but not allowed\nERROR :: /author :: field is required but not found and has no default value\nERROR :: /commentary :: field is required but not found and has no default value\nERROR :: /visibility :: field is required but not found and has no default value\nERROR :: /distribution :: field is required but not found and has no default value\nERROR :: /lifecycleState :: field is required but not found and has no default value\n","status":422}”
Ambos os erros apontam para as mesmas duas causas raiz, e são corrigíveis:
O erro 400 “Request body could not be converted to data map” significa que o corpo JSON em si é inválido — seu texto de IA está sendo injetado cru, então suas aspas, quebras de linha e caracteres como : e # quebram o JSON. Solução: defina o corpo da Requisição HTTP para o modo JSON e envolva o texto com JSON.stringify para que seja escapado, por exemplo, o valor commentary fica ={{ JSON.stringify($json.text) }} (remova as aspas externas no template). Isso sozinho elimina o erro “converted to data map”.
O erro 422 “field is required” (author, commentary, visibility, distribution, lifecycleState) significa que você está postando para o endpoint /rest/posts mais recente, mas enviando um corpo parcial. Esse endpoint requer TODOS esses campos. Um corpo mínimo que funciona:
E dois headers que as pessoas costumam esquecer: LinkedIn-Version: 202401 (use um YYYYMM atual) e X-Restli-Protocol-Version: 2.0.0. Sem o header de versão, o LinkedIn silenciosamente rejeita o schema.
Mais um detalhe específico do campo commentary do /rest/posts: ele usa o formato “Little Text” do LinkedIn, então os caracteres literais (, ), <, >, @, #, * e alguns outros devem ser escapados com uma barra invertida ou a requisição retorna 422. Se seu texto de IA contiver headers markdown (##) ou parênteses, remova-os ou escape-os antes de enviar. Seu exemplo de texto tinha ## e ::, o que é quase certamente o que causou o problema.
Se você colar a configuração exata do node (URL do endpoint + quais campos você envia), posso apontar qual é a peça específica que falta.
Analisamos essa questão e não conseguimos confirmar que se trata de um bug. Por enquanto, fechamos o ticket interno, mas se começar a parecer que é um bug, nossa equipe de moderação sinalizará novamente.
Também vale a pena notar: o limite de 4000 caracteres se aplica ao campo text. Se você estiver usando IA para gerar conteúdo, adicione uma verificação de comprimento antes de enviar — caso contrário, a API simplesmente rejeitará a solicitação silenciosamente.