当用户触发功能时,会有POST请求发送给合作伙伴。在正文中,我需要包括一个带有ID的唯一终结点callbackURL,以便他们可以向我发送与特定用户链接的状态更新。我该怎么做?我知道如何设置静态端点,但不能为每个请求创建新的端点。
答案 0 :(得分:1)
如Doug在上面的评论中所述,您不需要为每个不同的id
使用新的URL(即新的终结点)。您只能部署一个HTTP Cloud Function(公开一个端点),并且在Cloud Function中,您需要从Request
对象的originalUrl
属性中提取id
的值,如下:
exports.myWebhook = functions.https.onRequest((req, res) => {
const urlArray = req.originalUrl.split('/');
console.log(urlArray);
console.log(urlArray[1]);
const id = urlArray[1];
//Do whatever you need with id
//.....
//If you want to test that it works with a browser, you can send it back as a response to the browser
res.send(urlArray[1]);
});
然后您使用以下URI调用此Cloud Function:
https://us-central1-yourprojectname.cloudfunctions.net/myWebhook/id/callback
请注意,也可以从请求正文中提取值,请参见https://firebase.google.com/docs/functions/http-events?authuser=0#read_values_from_the_request。