Estou tentando baixar arquivos do Firebase Storage por meio de um XMLHttpRequest, mas Access-Control-Allow-Origin não está definido no recurso, portanto, não é possível. Existe alguma maneira de definir este cabeçalho no servidor de armazenamento?
(let [xhr (js/XMLHttpRequest.)]
(.open xhr "GET" url)
(aset xhr "responseType" "arraybuffer")
(aset xhr "onload" #(js/console.log "bin" (.-response xhr)))
(.send xhr)))
Mensagem de erro do Chrome:
XMLHttpRequest não pode carregar https://firebasestorage.googleapis.com/[EDITED] Nenhum cabeçalho 'Access-Control-Allow-Origin' está presente no recurso solicitado. Portanto, o acesso de origem ' http: // localhost: 3449 ' não é permitido.
Respostas:
Desta postagem no firebase-talk group / list :
fonte
"origin": ["*"],
vez de"origin": ["https://example.com"],
gsutil cors set myjson.json gs://projectname.appspot.com
como mencionado acima)O Google Cloud agora tem um editor embutido para tornar esse processo ainda mais fácil. Não há necessidade de instalar nada em seu sistema local.
>_
ícone na barra de navegação superior.cors.json
arquivo.gsutil cors set cors.json gs://your-bucket
fonte
>_
Só quero acrescentar algo à resposta. Basta acessar seu projeto no console do google (console.cloud.google.com/home) e selecionar seu projeto. Aí abra o terminal e apenas crie o arquivo cors.json (
touch cors.json
) e então siga a resposta e edite este arquivo (vim cors.json
) conforme sugerido por @ frank-van-puffelenIsso funcionou para mim. Felicidades!
fonte
cloud
subdomínio, não no subdomíniofirebase
("console.cloud.google.com/home") e procure o>_
botão do ícone no canto superior direito.outra abordagem para fazer isso é usar a API JSON do Google. etapa 1: obter token de acesso para usar com a API JSON Para obter um token de uso, vá para: https://developers.google.com/oauthplayground/ Em seguida, pesquise por API JSON ou armazenamento Selecione as opções necessárias, ou seja, ler, gravar, full_access (marque essas que são obrigatórios) Siga o processo para obter o Token de Acesso, que será válido por uma hora. Etapa 2: use o token para acessar a API JSON do google para atualizar o CORS
Amostra de onda:
fonte
Gostaria de acrescentar para aqueles que precisam desesperadamente de uma solução como eu estava depois de tentar tudo isso e não resolver o problema. Encontrei um ótimo artigo online que oferece 3 soluções, e a primeira funcionou para mim .. um plugin do Google Chrome .. sim! ..
extensão moesif CORS Certifique-se de ligá-la após a instalação
fonte
Para acessar qualquer recurso com um cabeçalho CORS aplicado, você poderia usar um pequeno projeto que fiz em Golang para mim - https://proxify-cors.herokuapp.com/
fonte