我在生产环境中使用 QuickBooks PHP DevKit 已经有一段时间了,没有任何问题。
但是,最近我从 create_invoice
ajax 脚本中吐出以下错误:
if($resp = $InvoiceService->add($Context, $realm, $Invoice)){
//create invoice code here
} else
{
echo $InvoiceService->lastError();
}
我收到以下错误:
3200: [message=ApplicationAuthenticationFailed; errorCode=003200; statusCode=401, ]
关于此错误,我能找到的唯一文档是错误代码 3200 表示“过时的编辑序列”,但我正在创建发票。
那么为什么会突然出现这个错误呢?
它似乎从 7 月 11 日开始给我这个错误。在此之前一切正常。
我是否需要刷新我的访问 token ,我该怎么做?
最佳答案
The only documentation I can find about this error is that error code 3200 means "Outdated edit sequence" but I am creating an Invoice.
错误代码 3200(对于 qbXML)与错误代码 003200(对于 IPP/v3)完全不同,因此“过时的编辑序列”在这里根本不相关。
So why is this error all of a sudden appearing?
一般来说,“401 身份验证失败”错误几乎就是它所说的 - 针对应用程序的身份验证失败。
这可能是由于以下几个原因:
- 您的 OAuth token 已过期(如果您不续订,它们将在 6 个月后过期)
- 您的 OAuth token /连接已断开(这可以在 Intuit 提供的 UI 中完成)
- 您不再发送正确的 OAuth token
您检查过您的 OAuth token 了吗?它们仍然有效吗?你发送正确的吗?
Do I need to refresh my access tokens, and how would I go about doing that?
也许。
您可以返回连接过程(例如再次单击“连接到 QuickBooks”按钮)以更新它们。
如果它们已过期(例如,您没有在 6 个月内续订),您应该实现重新连接调用以避免将来发生这种情况:
关于php - 添加发票时 QuickBooks IPP v3 出现错误 3200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24891385/