2014-07-22 63 views
3

我一直在生产中使用QuickBooks PHP DevKit一段时间没有问题。QuickBooks IPP v3在添加发票时收到错误3200

然而,最近我已经从我的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日起,它似乎开始给我这个错误。在此之前,一切工作正常。

我需要刷新我的访问令牌吗?我该如何去做?

回答

2

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令牌过期(他们6个月后到期,如果你不续借)
  • 您的OAuth令牌/连接断开连接(这可能是从内部UI忒提供)
  • 你不发送正确的OAuth凭证做了

你检查你的OAuth凭证?他们仍然有效吗?你发送的是正确的吗?

Do I need to refresh my access tokens, and how would I go about doing that?

也许吧。

您可以通过连接过程返回(例如,再次单击“连接到QuickBooks”按钮)以更新它们。

如果已经到期(例如,你没有6个月内续约),你应该实现重新连接呼叫来避免这种对未来:

+0

谢谢。我的连线已过期;我不知道它只持续了6个月,并没有包含在我下载的版本中的重新连接脚本。我一定会实施这个,所以我不必再担心它! – cellen

+0

很高兴帮助。如果有其他人需要他们的文档:https://developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/oauth_management_api#Reconnect –

+0

@ KeithPalmer-consolibyte我在打电话给读取发票时面临同样的错误。我尝试通过创建一个新的oauth令牌,但仍显示相同的错误。你知道这个问题背后是否有其他原因? –

相关问题