QuickBooks Online API错误:message =找不到给定分区键的目标;错误码= 007001

时间:2014-10-28 00:46:44

标签: intuit-partner-platform quickbooks-online

我正在使用QuickBooks PHP开发工具包并尝试设置发票/客户等。我收到以下错误消息: 7001:[message =找不到给定分区键的目标;错误码= 007001; statusCode = 400,]

这意味着什么?我查看过该文档,并没有找到有价值的答案。

此外,使用QuickBooks PHP开发工具包,我在 example_app_ipp_v3 / 中收到此错误:致命错误:在XXXXX中的非对象上调用成员函数getCompanyName()

第二个错误与第一个错误有关吗?是否有一些缺失的信息?

非常感谢您的帮助!

5 个答案:

答案 0 :(得分:3)

总结 -

 Your QBO subscription expired or you're hitting SandBox company with a wrong base URL.

如果您想与现有的QBO公司建立联系,那么您应该使用生产令牌'。 ' Dev令牌'只能与沙盒公司一起使用。

对于Sandbox公司,正确的基本网址为 - https://sandbox-quickbooks.api.intuit.com/

有关详细信息,请查看IPP的博客

https://developer.intuit.com/v2/blog/2014/10/24/intuit-developer-now-offers-quickbooks-sandboxes

由于

答案 1 :(得分:2)

经过一番研究,我找到了要更改的正确文件。如果您使用Keith Palmer的PHP DevKit,请转到 /quickbooks-php/QuickBooks/IPP/IDS.php 并更改URL_V3 (https:// quickbooks.api.intuit。 com / vx )( https:// sandbox-quickbooks.api.intuit.com/vx)。

谢谢你们!

答案 2 :(得分:2)

QB上周更改了他们的沙箱测试帐户。您正在查看错误,因为您正在访问主要prod站点而不是沙箱站点。

请阅读这些网址

https://developer.intuit.com/v2/blog/2014/10/24/intuit-developer-now-offers-quickbooks-sandboxes& https://developer.intuit.com/v2/blog/2014/10/20/changes-to-ipp-app-tokens

在Java中,我能够使用config overlide解决此问题,如下所示 Config.setProperty(Config.BASE_URL_QBO," https://sandbox-quickbooks.api.intuit.com/v3/company");

答案 3 :(得分:1)

您需要向Intuit提交支持票。你可以在这里做到:

通常这个错误意味着两件事之一。之一:

  • 您的QuickBooks在线订阅已过期。

OR

  • Intuit在他们的最后打破了一些东西,你需要向他们提交支持票以便修复它。

这不是您的代码或DevKit代码的问题。

答案 4 :(得分:0)

QuickBooks Sandbox

此前,Intuit为您提供了1年期美国,英国,澳大利亚和CA的QuickBooks Online订阅者订阅,但未包含样本数据。凭借新的开发人员经验,您现在拥有一个可立即使用的美国沙盒公司,用于开发和测试目的,其中包括样本数据。

我们将继续为英国,加拿大和澳大利亚的QuickBooks Online提供1年开发者订阅,并计划在未来为这些国家启用沙盒。

App令牌

随着沙盒的推出,应用令牌已经发生了一些变化。以前,您的开发应用程序令牌可以连接到任何类型的QuickBooks Online帐户 - 试用订阅,付费订阅或1年开发人员订阅。您现在只能将开发应用程序令牌连接到单个美国沙箱。您的开发应用令牌对沙盒的连接数没有限制。

要创建沙箱,请转到https://developer.intuit.com/并登录。在页面底部,有一个QuickBooks沙箱链接。只需点击它就可以了。您可以在这里管理您的沙箱。

要针对任何类型的现有QuickBooks Online帐户测试您的应用程序,包括现有试用版或1年开发人员订阅,您必须切换应用程序以使用生产应用程序令牌。如果您不这样做,您将收到以下错误:

错误代码:invalid_database。错误消息:开发应用程序只能订阅沙盒公司。没有沙箱公司发现错误ID:

总而言之,开发应用程序令牌仅适用于沙盒公司,生产应用程序令牌将适用于所有其他案例。您无需发布应用程序即可使用生产应用程序令牌。

QuickBooks Online API的URI端点

以前,已经在SDK中配置了QuickBooks Online的基本网址:https://quickbooks.api.intuit.com/。但是,要从您的应用程序访问沙盒公司,您需要将QuickBooks Online调用的基本URL更改为“https://sandbox-quickbooks.api.intuit.com/”;

如果您没有对沙箱的基本网址进行更改,则会收到以下错误 -

错误代码7001:“message =找不到给定分区键的目标;错误码= 007001;的StatusCode = 400“