尝试使用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>
所指的内容吗?
如何正确格式化公共令牌以将其替换为访问令牌?
答案 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。