Si últimamente has intentado publicar en LinkedIn desde tu código y te has topado con este error:
ERROR :: /author :: "urn:li:organization:123456" does not match urn:li:company:\d+|urn:li:member:\d+
No estás solo. Y no, no es culpa de tu toJSON()
ni del último Bearer token
. Se trata de un cambio oficial en la API de LinkedIn que está dejando fuera de juego a más de un desarrollador despistado.
¿Qué ha cambiado exactamente?
Antes era válido utilizar:
"urn:li:organization:123456"
para indicar el autor de un post en LinkedIn si eras una empresa. Pero desde hace poco, LinkedIn solo acepta:
"urn:li:company:123456"
O, si publicas como persona:
"urn:li:member:123456"
Este cambio afecta a todas las llamadas que usen el endpoint ugcPosts
para publicar contenido. Si sigues usando organization
, la API responderá con un bonito error 422.
¿Hay una referencia oficial?
Sí. Aunque no se anunció como una breaking change con fanfarria, puedes encontrar la documentación actualizada en la web de Microsoft/LinkedIn:
“The URN for the author field must be either a person (urn:li:member:{id}) or an organization (urn:li:company:{id}).”
Curiosamente, muchas guías y snippets aún usan organization
, lo cual está causando confusión y errores en producción.
Cómo adaptar tu código
Cambiarlo es sencillo. En tu script R (o Python, o cURL…), sustituye el URN antiguo:
author = "urn:li:organization:12345678"
por:
author = "urn:li:company:12345678"
Y asegúrate de hacer lo mismo en cualquier otro campo relacionado, como owner
en las cargas de imágenes o vídeos.
¿Cómo saber mi company ID o member ID?
- Company ID: lo puedes ver en la URL de tu página de empresa de LinkedIn. Ejemplo: rubyCopiarEditar
https://www.linkedin.com/company/12345678/ → ID: 12345678 → URN: urn:li:company:12345678
- Member ID: haz una petición a
https://api.linkedin.com/v2/me
con tu token de acceso y obtendrás tu URN de tipourn:li:member:{id}
.
Conclusión rápida
- Ya no uses
urn:li:organization:{id}
- Usa
urn:li:company:{id}
para empresas - Usa
urn:li:member:{id}
para personas - Evita el error 422 y tus posts volverán a volar por LinkedIn como si nada hubiera pasado