Cómo solventar el error de CORS en Google Cloud Storage.
Permisos del bucket y objetos
Antes de nada revisa que el bucket y el/los fichero/s que quieres acceder son públicos. Para ello en el bucket y objetos tienes que indicar el permiso de «allUsers» y darle permisos de lectura.
Te tendrá que aparecer en el Google Cloud storage algo como lo siguiente:
Ejecutar gsutil para establecer permisos de CORS
Después tienes que ejecutar un comando de gsutil al que le tendrás que pasar un fichero de configuración. Lo primero crea el fichero y guarda la configuración que necesites.
Crea el fichero:
[code]
vim cors-json-file.json
[/code]
Establece la configuración:
Nota: reemplaza el dominio por el que necesites en tu caso.
[code]
[
{
"origin": [
"https://*.pedroventura.com"
],
"responseHeader": [
"Content-Type"
],
"method": [
"GET"
],
"maxAgeSeconds": 3600
}
]
[/code]
Por último ejecuta el siguiente comando para setear la configuración de CORS sobre tu bucket.
NOTA: cambia «blogpv» por el nombre de tu bucket:
[code]
gsutil cors set cors-json-file.json gs://blogpv
[/code]
Te tendrá que aparecer un mensaje por consola
Puedes ejecutar la siguiente función JS desde la consola de Chrome para validar que recibes bien el objeto desde Google Cloud Storage y que te funciona finalmente ya no tienes errores por las CORS.
[code]
fetch(‘https://storage.googleapis.com/blogpv/sample.json’)
.then(response => response.json())
.then(json => console.log(json))
[/code]
Puedes revisar la documentación de Google Cloud Storage y CORS en el siguiente enlace: https://cloud.google.com/storage/docs/configuring-cors#configure-cors-gsutil
Es complicado el código.
Te resultó complicado? Dime en que te puedo ayudar?
Buen día. En mi caso ¿donde específicamente valido que mi archivo de cors existe en mi google cloud?