Конечные точки динамического обратного вызова с облачными функциями - PullRequest
0 голосов
/ 13 мая 2019

Когда пользователь запускает функцию, POST-запрос отправляется партнеру.В теле я должен включить уникальную конечную точку callbackURL с идентификатором, чтобы они могли отправлять мне обновления статуса, связанные с конкретным пользователем.Как я могу это сделать?Я знаю, как настроить статические конечные точки, но не создавать новые для каждого запроса.

1 Ответ

1 голос
/ 14 мая 2019

Как сказал Дуг в своем комментарии выше, вам не нужен новый URL (то есть новая конечная точка) для каждого отдельного id. Вы можете развернуть только одну облачную функцию HTTP (которая предоставляет одну конечную точку), а в облачной функции вы извлекаете значение id из объекта Request с его originalUrl свойство, следующим образом:

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:

https://us -central1-yourprojectname.cloudfunctions.net / myWebhook / ID / обратный вызов


Обратите внимание, что также можно извлечь значения из тела запроса, см. https://firebase.google.com/docs/functions/http-events?authuser=0#read_values_from_the_request.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...