【发布时间】:2018-06-02 13:01:49
【问题描述】:
我正在尝试查看是否可以将 Cloud Functions for Firebase 与 Braintree 集成。我根据the docs为Cloud Functions创建了一个项目。
在我运行的项目目录中:npm install braintree。
为了测试目的,我修改了index.js 如下:
const functions = require('firebase-functions');
var braintree = require("braintree");
var gateway = braintree.connect({
environment:
braintree.Environment.Sandbox,
merchantId: "useYourMerchantId",
publicKey: "useYourPublicKey",
privateKey: "useYourPrivateKey"
});
// // 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!");
//gateway.clientToken.generate({}, function (err, response) {
//response.send(response.clientToken);
//});
});
当我尝试部署这个测试功能时,我得到了错误
解析触发器错误:找不到模块“braintree”
我是 Firebase、Cloud Functions 和 node.js 的新手,如果我能提供有关如何将 Braintree 导入 Firebase Functions 项目的任何意见,我将不胜感激。
【问题讨论】:
-
我认为您在这里一口气覆盖了太多内容。如果您是 Node.js 的新手,我建议您先从 Node.js 调用 Braintree API。如果您是 Firebase 的新手,我建议您通过它的 Node.js SDK(或它的 Web SDK,如果您更熟悉 Web 环境中的 JavaScript)与 Firebase 进行交互。一旦您对这两者有了经验,您将能够更好地将云功能添加到组合中,
-
也就是说,错误可能原因的快速修复如下。 :-)
-
很棒的帖子,因为它展示了如何从 Firebase 调用 BrainTree 的示例。我还没有看到任何其他简洁的例子来说明如何设置它。如果他们将这样的 sn-p 添加到官方 BrainTree 文档中会很好。很酷,谢谢。我发现要小心的一件事是,当您取消注释
gateway.clientToken.generate(..)块时,请确保为第二个response参数提供唯一名称,因为它与外部对象不同 - 例如:gateway.clientToken.generate({}, function (err, gatewayResponse) {..}
标签: node.js google-cloud-functions braintree