У меня есть следующая облачная функция Привет мир Firebase:
const functions = require('firebase-functions');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
Затем я вызываю его с веб-страницы, вот так:
<script>
// Initialize Firebase
var config = { <config information copy-pasted from firebase console>
};
firebase.initializeApp(config);
let helloWorld = firebase.functions().httpsCallable('helloWorld');
console.log(helloWorld)
helloWorld().then(function (result) {
})
</script>
Однако я получаю следующую ошибку:
Доступ к выборке в (мой URL-адрес функции облака) из источника 'null' был заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: отсутствует заголовок 'Access-Control-Allow-Origin' на запрашиваемом ресурсе. Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.
Я все еще могу получить доступ к конечной точке HTTP напрямую. Что я делаю не так?
Я попробовал следующее после просмотра: Включение CORS в облачных функциях для Firebase :
const functions = require('firebase-functions');
const cors = require('cors')({ origin: true });
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.helloWorld = functions.https.onRequest((request, response) => {
return cors(req, res, () => {
res.status(200).send('Hello World!')
})
//response.set('Access-Control-Allow-Origin', '*');
//response.send("Hello from Firebase!");
});
Но, когда я посещаю конечную точку HTTP, я получаю сообщение об ошибке:
Ошибка: не удалось обработать запрос