在 firebase 函数上部署 braintree 服务器时出现意外错误
Unexpected Error when deploying braintree server on firebase functions
我在 Firebase 函数.
上遇到 Braintree 服务器节点 SDK 的问题
但奇怪的是它在我的本地服务器上运行良好(在本地使用 firebase serve)。
在 firebase 上,应用只是 return 错误对象上的 unexpectedError,而没有指定可理解的错误消息。
我什至尝试将网关对象的超时设置为较高的值,但问题仍然存在。
这是管理令牌生成的服务器代码部分:
const functions = require("firebase-functions");
const express = require("express");
const braintree = require("braintree");
var gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "************",
publicKey: "************",
privateKey: "************"
});
app.get("/generate_token", function (req, res) {
gateway.clientToken.generate({}, function (err, response) {
if(response)
res.send({error: false, token: response.clientToken});
else
res.send({error: true, errorObj: err, response: response});
});
});
运行 本地代码 return 正确结果:
{"error": false, "token": "*********"}
但是在 firebase 上部署 运行 它 return 一个错误:
{
"error": true,
"errorObj": {
"name": "unexpectedError",
"type": "unexpectedError"
}
}
对于免费层 (Spark) 上的 Firebase 项目,到非 Google 控制端点的传出套接字连接被阻止。这是为了防止自动滥用。您的项目需要升级到 Blaze 计划才能启用传出连接。用于开发目的的成本可能可以忽略不计,但您仍应在升级前检查 pricing page。
我在 Firebase 函数.
上遇到 Braintree 服务器节点 SDK 的问题但奇怪的是它在我的本地服务器上运行良好(在本地使用 firebase serve)。
在 firebase 上,应用只是 return 错误对象上的 unexpectedError,而没有指定可理解的错误消息。
我什至尝试将网关对象的超时设置为较高的值,但问题仍然存在。
这是管理令牌生成的服务器代码部分:
const functions = require("firebase-functions");
const express = require("express");
const braintree = require("braintree");
var gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "************",
publicKey: "************",
privateKey: "************"
});
app.get("/generate_token", function (req, res) {
gateway.clientToken.generate({}, function (err, response) {
if(response)
res.send({error: false, token: response.clientToken});
else
res.send({error: true, errorObj: err, response: response});
});
});
运行 本地代码 return 正确结果:
{"error": false, "token": "*********"}
但是在 firebase 上部署 运行 它 return 一个错误:
{
"error": true,
"errorObj": {
"name": "unexpectedError",
"type": "unexpectedError"
}
}
对于免费层 (Spark) 上的 Firebase 项目,到非 Google 控制端点的传出套接字连接被阻止。这是为了防止自动滥用。您的项目需要升级到 Blaze 计划才能启用传出连接。用于开发目的的成本可能可以忽略不计,但您仍应在升级前检查 pricing page。