nodeJS передает переменную в переменную - PullRequest
0 голосов
/ 26 сентября 2018

Основываясь на широком поиске, я подумал, что backtick справится, но без кубиков.Потеряв слова, почему переменная кода не будет передана в другую переменную.Используются обратные пометки, $ {variable} и отсутствие кубиков.Идеи?

exports.stripeConnect = functions.https.onRequest((req, res) => {
    var code = req.query.code;
    const ref = admin.database().ref(`/stripe_advisors/testing`);
    return ref.update({ code: code });

    var request = require('request');

    var dataString = `client_secret=sk_test_8gxfc3KHDoPC4pyFvitYcwf1&code=${code}&grant_type=authorization_code`;

    var options = {
            url: 'https://connect.stripe.com/oauth/token',
            method: 'POST',
            body: dataString
    };

    function callback(error, response, body) {
            if (!error && response.statusCode == 200) {
            console.log(body);
            }
    }

    request(options, callback);
});

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Благодаря другому постеру в другом вопросе выяснилось, что строка не является проблемой @ all, и это асинхронная природа JS.Ниже приведен рабочий код для использования функций Firebase для процесса адаптации Stripe Connect.Наслаждайтесь!

var rp = require ('request-обещание');

//Stripe Connect
exports.stripeConnect = functions.https.onRequest((req, res) => {
var code = req.query.code;
const ref = admin.database().ref('/stripe_advisors/testing');
var dataString = `client_secret=sk_test_8gxfc3KHDoPC4pyFvitYcwf1&code=${code}&grant_type=authorization_code`;
var options = {
        url: 'https://connect.stripe.com/oauth/token',
        method: 'POST',
        body: dataString
};

rp(options)
.then(parsedBody => {
    return ref.update({ code: code });
})
.catch(err => {
    console.log(err);
    res.status(500).send(err);
});

});
0 голосов
/ 26 сентября 2018

Я думаю, что вам просто нужно значение переменной 'code', объединенной в переменную 'dataString', для которой вы можете использовать оператор конкатенации (+).В вашем случае:

dataString='client_secret=sk_test_8gxfc3KHDoPC4pyFvitYcwf1&code='**+code+**'&grant_type=authorization_code';

Я написал тестовый код на основе того, что вы написали:

var code = 'Hello';
var dataString = \`${code}, World\`;

console.log(dataString);

Вывод: Hello, World

Итак, вкод выше dataString должен иметь значение в кодовой переменной, просто напечатайте переменную и протестируйте.

вы не можете передать строку запроса в теле, проверьте, правильно ли то, что вы передаете в теле.

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