我正在使用QuickBooks PHP开发工具包并尝试设置发票/客户等。我收到以下错误消息: 7001:[message =找不到给定分区键的目标;错误码= 007001; statusCode = 400,]
这意味着什么?我查看过该文档,并没有找到有价值的答案。
此外,使用QuickBooks PHP开发工具包,我在 example_app_ipp_v3 / 中收到此错误:致命错误:在XXXXX中的非对象上调用成员函数getCompanyName()
第二个错误与第一个错误有关吗?是否有一些缺失的信息?
非常感谢您的帮助!
答案 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提交支持票。你可以在这里做到:
通常这个错误意味着两件事之一。之一:
OR
这不是您的代码或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“