如何在使用Plaid API exchangePublicToken方法时正确格式化公共令牌

时间:2017-04-23 18:00:51

标签: plaid

尝试使用Plaid API替换访问令牌的公共令牌时收到此错误:

router.post('/user/draft/delete', (req, res) => {
if(!req.user) {
    return res.redirect('/login');
}

User
    .findById(req.user.id)
    .exec()
    .then(user => {
        user.drafts.pull(req.body.draftid);
        user.save();
        res.status(202).redirect('/dashboard');
    })
    .catch(err => {
        console.error(err);
        res.status(500).redirect('/dashboard');
    });
});

onSucceess回调中收到的令牌格式以及我传递给exchangePublicToken的令牌格式如下:

{ display_message: null, error_code: ‘INVALID_PUBLIC_TOKEN‘, error_message: ‘provided public token is in an invalid format. expected format: public-<environment>-<identifier>’, error_type: ‘INVALID_INPUT‘, request_id: ‘vVGLl’, status_code: 400 }

错误表明公共令牌的预期格式为beb195c7ab7f2f3ed343f822250cc574d42f536e14be2b11a68a31b7dbc6944c34df45ce7226f1dbc1a6ea152a5448323229dfae333a50c1137cf5ac3d909f18。任何人都可以澄清public-<environment>-<identifier>所指的内容吗?

如何正确格式化公共令牌以将其替换为访问令牌?

1 个答案:

答案 0 :(得分:4)

看起来您可能只是在Link和Exchange调用之间混合环境。

如果查看relevant area in Plaid's docs,您会发现sandbox上最新的Plaid API中的令牌应如下所示:

公开令牌:public-sandbox-fb7cca4a-82e6-4707

访问令牌:access-sandbox-7c69d345-fd46-461f

确保Plaid Link和您正在进行的任何API调用都使用相同的环境(即沙箱,开发或生产)。另一个问题可能是您使用带有链接的旧API和带有交换调用的新API。