【发布时间】:2017-08-09 19:27:14
【问题描述】:
当某个值写入 firebase 数据库时,我正尝试向我的云端点项目发出请求。我找不到任何关于如何在 Node.js 中执行对端点的请求的示例。到目前为止,这是我想出的:
"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);
});
});
触发时,函数的日志喷出:TypeError: Cannot read property 'init' of undefined。即甚至不识别 gapi.client。
首先,该请求使用的正确包是什么?谷歌API?请求-承诺?
其次,我是否为端点调用设置了正确的路径和参数?假设端点函数为startCalc(int uid)。
【问题讨论】:
标签: node.js firebase google-cloud-endpoints google-cloud-functions