Ich versuche eine Anfrage an mein Cloud-Endpunkt-Projekt zu stellen, wenn ein bestimmter Wert in die Firebase-Datenbank geschrieben wird. Ich kann kein Beispiel finden, wie eine Anfrage an Endpoints in Node.js durchgeführt wird. Hier ist, was ich komme mit so weit:Cloud-Funktionen für Firebase: Wie stelle ich eine Anfrage an meinen Cloud-Endpunkt?
"use strict";
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const gapi = require('googleapis');
admin.initializeApp(functions.config().firebase);
exports.doCalc = functions.database.ref('/users/{uid}/calc').onWrite(event => {
return gapi.client.init({
'apiKey': 'AIzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'clientId': '1234567890-xxx.apps.googleusercontent.com',
'scope': 'donno what to put here'
}).then(function() {
return gapi.client.request({
'path': 'https://myproj.appspot.com/_ah/api/myApi/v1',
'params': {'query': 'startCalc', uid: event.params.uid }
})
}).then(function(response) {
console.log(response.result);
}, function(reason) {
console.log('Error: ' + reason.result.error.message);
});
});
Beim Auslösen Funktionen Log-Tüllen: TypeError: Cannot read property 'init' of undefined
. erkennt nicht einmal gapi.client.
Zuerst, was ist das richtige Paket für diese Anfrage zu verwenden? googleapis? Anfrage-Versprechen?
Zweitens, richte ich den richtigen Pfad und Parameter für einen Anruf an einen Endpunkt ein? Angenommen, die Endpunktfunktion ist startCalc(int uid)
.
Danke, ich dies fand eine unglaublich hilfreiche Antwort. Ich bin auf dem Firebase Blaze-Plan und meine Anfrage ging mit dem von dir vorgeschlagenen Code durch. – CKP78