【问题标题】:QuickBooks Online programmatic accessQuickBooks Online 程序化访问
【发布时间】:2016-04-01 15:06:54
【问题描述】:

谁能告诉我如何以编程方式访问我的 QuickBooks Online 帐户,特别是从使用 QBO Java 库的 Java 应用程序访问。

例如:

OAuthAuthorizer oauth = new OAuthAuthorizer(
        consumerKey, consumerSecret, 
        accessToken, accessTokenSecret);

Context context = new Context(
        oauth, appToken, ServiceType.QBO, realmID);

DataService qbService = new DataService(context);

我并不是要创建其他人可以用来登录其 QB 帐户的应用程序。我只想以编程方式访问我自己的帐户。我真的必须为此创建 oAuth 令牌和机密(并不断更新令牌)吗?如果是这样,我该怎么做?

当我尝试为我的帐户使用 oAuth 游乐场(生成 oAuth 令牌)时,出现的弹出对话框询问我“您想连接到哪家公司?”但唯一的选择是沙盒(虚拟)公司帐户,而不是我的真实帐户。

几年前我能够做到这一点(例如,playground 会列出要连接的正确帐户),但现在我不知道如何让它工作。

【问题讨论】:

    标签: java oauth intuit-partner-platform intuit


    【解决方案1】:

    如果您不编写代码来执行 Oauth 握手,您仍然可以使用 Playground 生成 Oauth 访问令牌。令牌的有效期最长为 6 个月,然后才需要刷新。

    https://appcenter.intuit.com/Playground/OAuth/IA/

    其次,您的开发使用者密钥和密码允许您访问免费的 QuickBooks Online 沙盒,而您的生产使用者密钥和密码允许您访问您的生产 QuickBooks Online 帐户。

    您可以随意使用 Playground 生成访问令牌,但您必须每 6 个月进行一次。在您的代码中实现 Oauth 登录和握手并根据需要重新登录或调用刷新更简单。

    -震动

    【讨论】:

    • 谢谢,我实际上设置了一个每隔几周运行一次的应用程序,以尝试更新我的 oAuth 凭据(如果它们在续订窗口内)。我只是觉得很遗憾,我必须经历所有这些才能以编程方式访问我的帐户。
    【解决方案2】:

    自从我上次使用 API 以来,Intuit 似乎改变了一些东西。上次,我使用的是我的应用程序开发密钥,oAuth 过程将使生产 QuickBooks 帐户可用于连接。显然,现在开发密钥只会显示您已设置的沙盒帐户(或在我的情况下为您自动设置的沙盒帐户)。

    因此,您只需确保在 oAuth 过程中使用生产密钥,即可将生产帐户视为一个选项。

    至于简单地以编程方式访问我的帐户,而无需跳过 oAuth 程序,据我所知,答案是您必须这样做,包括在任何时间段后更新密钥选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多