Как реализовать объект json в облачных функциях для Firebase?
Я хочу проверить Apple в квитанции о покупке приложения, отправив оригинальную квитанцию на сервер App Store для проверки и получить подтвержденную квитанцию обратно, используя облачные функции Firebase.
var jsonObject = {
'receipt-data': receiptData,
password: functions.config().apple.iappassword
};
var jsonData = JSON.stringify(jsonObject);
var firebaseRef = '/' + fbRefHelper.getUserPaymentInfo(currentUser);
let url = "https://sandbox.itunes.apple.com/verifyReceipt";//or production
request.post({
headers: { 'content-type': 'application/x-www-form-urlencoded' },
url: url,
body: jsonData
}, function (error, response, body) {
if (error) {
} else {
var jsonResponse = JSON.parse(body);
if (jsonResponse.status === 0) {
console.log('Recipt Valid!');
} else {
console.log('Recipt Invalid!.');
}
if (jsonResponse.status === 0 && jsonResponse.environment !== 'Sandbox') {
console.log('Response is in Production!');
}
console.log('Done.');
}
});
Это логический код. Как мне ввести объект получения JSON (который находится в базе данных Firebase) и как интегрировать этот код в функцию http? Я использую библиотеку npm для запроса.
1 ответ
Исходя из вашего комментария, звучит так, как будто вы не знаете, как запросить базу данных из функции типа HTTPS. Для этого вы можете использовать Firebase Admin SDK. Есть много примеров того, как это сделать. В частности, этот пример быстрого запуска в верхнем регистре иллюстрирует это. Вы начинаете так:
// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);