【问题标题】:QuickBooks Online API error: message=No destination found for given partition key; errorCode=007001QuickBooks Online API 错误:消息=未找到给定分区键的目的地;错误代码=007001
【发布时间】:2014-10-28 00:46:44
【问题描述】:

我正在使用 QuickBooks PHP 开发工具包并尝试设置发票/客户等。我收到以下错误消息:7001: [message=No destination found for given partition key;错误代码=007001; statusCode=400, ]

这是什么意思?我查看了文档,但没有找到适合我的情况的有价值的答案。

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

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

非常感谢您的帮助!

【问题讨论】:

    标签: intuit-partner-platform quickbooks-online


    【解决方案1】:

    夏天 -

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

    如果您想与现有的 QBO 公司建立联系,那么您应该使用“生产代币”。 “开发令牌”只能用于沙盒公司。

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

    更多详情,请查看 IPP 的博客 -

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

    谢谢

    【讨论】:

    • 太棒了!你能告诉PHP文件改变吗?文档上没有说明。我查看了其他网站,但没有与此相关的有趣内容。
    • Manas - 我们为您提供了针对同样问题的公开支持票证(案例 00014843)。我们没有使用沙盒帐户。我们正在使用生产代币。我们正在使用生产 URL。我们使用的是 QuickBooks 的正常生产版本(不是沙盒)。为什么我们仍然收到此错误?什么时候解决?
    • 这是一个随机问题,有时有效,有时无效,为什么?
    • @KeithPalmer-consolibyte - 由于最近的更改,存在一些问题。我们已将此情况报告给我们的开发团队。请通过支持邮件线程进行交流。我们将保持此线程更新。带来不便敬请谅解。谢谢
    • 那么上面的答案不正确吗?如果是这样,您应该编辑它以反映这里的真正问题。将来,此特定错误消息是否表示已取消订阅,还是表示 QuickBooks 本身存在内部问题?
    【解决方案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)。

    谢谢大家!

    【讨论】:

      【解决方案3】:

      QB 上周更改了他们的沙盒测试帐户。您看到错误是因为您访问的是主产品站点而不是沙盒站点。

      请阅读这些网址

      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");

      【讨论】:

        【解决方案4】:

        为此,您需要向 Intuit 提交支持票证。你可以在这里做:

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

        • 您的 QuickBooks Online 订阅已过期。

        • Intuit 破坏了他们的某些东西,您需要向他们提交支持请求以修复它。

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

        【讨论】:

          【解决方案5】:

          QuickBooks 沙盒

          之前,Intuit 为您提供了 1 年的 QuickBooks Online 开发人员订阅,适用于美国、英国、澳大利亚和加拿大,不包括示例数据。借助新的开发人员体验,您现在拥有一个现成的美国沙盒公司,用于您的开发和测试目的,其中包括示例数据。

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

          应用令牌

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

          要创建沙盒,请转到https://developer.intuit.com/ 并登录。在页面底部,有一个 QuickBooks 沙盒的链接。只需单击它,您将被设置。您可以在此处管理您的沙盒。

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

          错误代码:invalid_database。错误信息:开发应用程序只能订阅沙盒公司。未找到沙盒公司错误 ID:

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

          QuickBooks Online API 的 URI 端点

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

          如果您不更改沙盒的基本网址,您将收到以下错误-

          错误代码 7001:“消息=未找到给定分区键的目标;错误代码=007001;状态码=400″

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-31
            • 2011-07-10
            相关资源
            最近更新 更多