Я следил за несколькими ответами на эту тему, но ни один из них не работает для меня.
Я пытаюсь включить CORS в своей облачной функции.Эта функция возвращает видео-ресурс, который будет воспроизводиться в приложении WebGL, созданном с помощью Unity.
Это код index.js:
const functions = require('firebase-functions');
const cors = require('cors')({origin: true});
var admin = require("firebase-admin");
var serviceAccount = require("./something-eb929f7e59.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://app.firebaseio.com"
});
var bucket = admin.storage().bucket("gs://app.appspot.com");
exports.getFileTour = functions.https.onRequest((request, response) => {
cors((request, response) => {
response.set('Access-Control-Allow-Origin', "*");
response.set('Access-Control-Allow-Methods', 'GET');
response.set('Access-Control-Allow-Headers', 'Content-Type');
var u = request.query.u;
var p = request.query.p;
var filepath = request.query.fp;
var url_out = '';
const file = bucket.file(filepath);
file.getSignedUrl({
action: 'read',
expires: '03-17-5000'
}, function (err, url) {
if (err) {
console.error(err);
return;
}
url_out = url;
response.send(url_out);
//console.log(request.que);
});
});
});
И это мой package.json:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"firebase-admin": "~5.12.1",
"firebase-functions": "^1.0.3",
"cors": "^2.8.5"
},
"devDependencies": {
"eslint": "^4.12.0",
"eslint-plugin-promise": "^3.6.0"
},
"private": true
}
Я установил приложение с помощью Firebase CLI после установки cors в локальной папке (хотя я не знаю, необходимо ли это).
Но я продолжаю получать эту ошибку вконсоль браузера:
Доступ к XMLHttpRequest по адресу https://resource.mp4' от источника 'https://origin.firebaseapp.com' заблокирован политикой CORS: Нет' Access-Control-AllowЗаголовок -Origin 'присутствует на запрашиваемом ресурсе.
Может кто-нибудь дать совет по этому поводу?
Приветствия!