作者:小菜刀丶 | 来源:互联网 | 2023-02-09 09:36
尝试使用PayPal-node-SDK向Paypal的API发出请求
exports.requestPayment = functions.https.onRequest((req, res) => {
return new Promise(function (fullfilled, rejected) {
paypal.payment.create(create_payment_json, {}, function (error, payment) {
if (error) {
rejected(error);
} else {
console.log("Create Payment Response");
console.log(payment);
res.status(200).send(JSON.stringify({
paymentID: payment.id
})).end();
fullfilled(payment);
}
});
});
});
但我经常收到一个错误:
Error: getaddrinfo ENOTFOUND api.sandbox.paypal.com api.sandbox.paypal.com:443
at errnoException (dns.js:28:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
我试过的事情:
仍然是向完全不同的主机提出请求 ENOTFOUND
用包装请求 cors(req,res, ()=>{...})
预先https://
主持人
问题是什么?
1> James Daniel..:
您需要制定付费计划才能发出外部API请求.
Firebase的Blaze计划(按需付费)可以免费分配云功能.https://firebase.google.com/pricing/
这为我节省了一两个小时的调试时间.谢谢!
您应该在功能日志上看到警告+它可能隐藏在某个地方的定价页面上.顺便说一下,我是Firebase云功能的DevRel;)
脚注3:Spark计划仅允许向Google拥有的服务发出出站网络请求.在Blaze计划中,云功能提供永久免费套餐.
谢谢你的详细信息 真的很感激.一旦我拿出我的信用卡,它就像预期的那样工作!
托管在另一个项目的云函数上的api调用是否相同?当我对`https:// us-central1-joanne-lee.cloudfunctions.net / getUrls / portrait`进行同构提取时,我收到“ getaddrinfo ENOTFOUND”错误。