Alguno de tus contenidos multimedia no se subió correctamente
Cuando Twitter da ese error y cumplimos los requisitos de archivo
A veces Twitter puede dar ese problema y no sabemos por qué ya que cumplimos la duración y tamaño de archivos.
También puede hacerlo al insertar un GIF del propio Twitter.
Veamos por qué sucede esto.
13/10/2022 15:24:04 Update:13/10/2022 18:39:06
A veces no es culpa de Twitter y veamos el por qué
Los navegadores tienen una política de seguridad denominada CORS que es un acrónimo en inglés que significa Intercambio de Recursos de Origen Cruzado y está basado en el envío de cabeceras adicionales para permitir el procesamiento de dominios de distinto origen entre iframes, vídeos y el objeto XMLHttpRequest de javascript.
The value of the 'Access-Control-Allow-Origin' header in the response must not be the wilcard '*'Access-Control-Allow-Origin
¿Por qué sucede esto?
La respuesta es por la política del mismo origen
Hay una política de seguridad que siguen los navegadores (CORS) que es la política del mismo origen, de modo que el servidor acepte solamente de un mismo origen o no según la política CORS establecida en el servidor.
De modo que si una petición bajo determinado dominio incluye obtener recursos mediante en objeto XMLHttpRequest (ajax) de un nombre de dominio distinto ,subdominios incluidos no así subdirectorios, será arrojado el error CORS policy anteriormente indicado.
Esta es la política CORS para el servidor, sin embargo existe tambien para los iframes en la parte del navegador y se usa para restringir iframes con distinto dominio dentro de una página web o para permitir o no la visualización por ejemplo de vídeos fuera de dominio principal, así como otras políticas.
¿ Por qué me dió entonces el error ?
Pues en mi caso fue por tener habilitada una extensión que modifica la configuración CORS del navegador provocando error en el objeto XMLHttpRequest cuando el servidor requiere uso explícito de credenciales.
Por lo tanto MI solución fue deshabilitar la extensión que he nombrado
La extensión puede establecer algo parecido a esto en su archivo manifest.json
"permissions":["http://*/"],["https://*/"]
Cuando Twitter consulta los permisos se encuentra con la verificacón de accesos deshabilitada ya que * indica cualquier dominio, eso permitiría usar Twitter desde iframes o XHR, cosa que Twitter no quiere permitir, de ahí la importancia de verificarlo en el servidor.
Esto es lo que pretende "arreglar" la extensión :
Para evitar lo mismo usando el objeto XMLHttpRequest se hace la verificación en el servidor, esto se podría saltar usando directamente el protocolo saltándose al navegador o modificándolo pudiendo hacer aplicaciones automatizadas (Bots) , hay que tener en cuenta que existen otras verificaciones basadas en cookies, ip, sesiones abiertas, timeouts, etc...
Otro posible Error es que se haya producido un corte de red, para eso basta comprobar la conexión y en casos excepcionales reiniciar el navegador y si el problema persiste probar con otro o comprobar en la consola del inspector pulsando en el teclado: Ctrl + May + i