如果您正在使用getMFAResponseForSite然后用这个refresh flow
现在getMFAResponseForSite的响应取决于登录尝试的MFA后多久Yodlee公司遭遇。
有3种类型的反应,你可以得到 -
{ "isMessageAvailable": false, "timeOutTime": 0, "itemId": 0,
"memSiteAccId": 10000502, "retry": true }
在您第一次调用MFA API,你可能会得到这样如果在使MFA数据的延迟,因此你需要回去并再次调用该API(如循环流程中所建议的)。在这种情况下,如果使用messageAvailable(如果为false且timeoutTime> 0),则意味着Yodlee已超时请求,并且可以中止刷新并尝试重新启动它。
{
"isMessageAvailable": true,
"fieldInfo": {
"responseFieldType": "text",
"minimumLength": -1,
"maximumLength": 6,
"displayString": "Security Key"
},
"timeOutTime": 97640,
"itemId": 0,
"memSiteAccId": 10000052,
"retry": false
}
这就是您获得MFA响应的情况。在这里,您可以看到isMessageAvailable为true,并且您填充了字段信息。此响应可以在第一次调用getMFAResponseForSite或1或2循环后发生。
{
"isMessageAvailable": true,
"fieldInfo": {
"questionAndAnswerValues": [],
"numOfMandatoryQuestions": -1
},
"timeOutTime": 98480,
"itemId": 0,
"errorCode": 0,
"memSiteAccId": 10039332,
"retry": false
}
在那意味着登录这种情况下,你可以看到,有一个存在错误代码,如果是0(零)成功没有MFA和Yodlee公司是能够导航到帐户摘要页。如果错误代码不为零,那么请参考error code页面
现在你的情况siteAccountID失败,错误代码429,因此你应该得到getMFAResponseForSite API中的信息。
您是否可以确保遵循正确的刷新流程并进行正确的API调用,理想情况下该行为不会从流程图中表示的行为发生变化。
图的唯一问题是我理解它,因为当我收到响应类型2时,我需要再次调用getMFAResponseForSite。Aster再次调用getMFAResponseForSite,我将fieldInfo作为null接收。我消除了额外的getMFAResponseForSite调用后,它盯着工作。 – 2014-11-06 10:36:09
实际上,当您看到图2所示的响应后,您需要向用户呈现MFA,然后使用putMFARequestForSite将答案传递给Yodlee,此步骤后需要再次调用getMFAResponseForSite。 – Shreyans 2014-11-06 12:12:28
是的,现在我明白我的错误了。谢谢。 – 2014-11-06 14:05:53