У меня есть простая настройка скрипта функций firebase (под управлением firebase-admin версии 8.0 и firebase-functions версии 2.3.1):
const functions = require('firebase-functions');
const cors = require('cors')({
origin: true,
});
//Gets and returns a user's ip address
exports.getIPAddress = functions.https.onRequest((req, res) => {
let ipAddress = req.headers['fastly-client-ip'] || req.connection.remoteAddress;
ipAddress = ipAddress.toString();
console.log('Fetched IP Address: ' + ipAddress);
return cors(req, res, () => {
res.status(200).send(ipAddress);
});
});
Цель функции - просто вернуться к IP-адресу пользователя. Он прекрасно регистрируется в консоли функций, без ошибок.
Вот код клиента:
var getIPAddress = mainFirebase.functions().httpsCallable('getIPAddress');
function testIP() {
getIPAddress().then(function(result) {
console.log(result.data.text)
});
}
Однако консоль говорит, что 'result' не является допустимым объектом JSON.
Я пытался использовать https.onCall, который порекомендовал кто-то другой в Интернете, однако консоль говорит, что функция не существует.
Любая помощь в получении правильного ответа будет принята с благодарностью!