QuickBooks在线程序化访问

时间:2016-04-01 15:06:54

标签: java oauth intuit-partner-platform intuit

任何人都可以告诉我如何以编程方式访问我的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令牌)时,出现的弹出对话框会询问“您要连接哪家公司?”但唯一的选择是沙盒(虚拟)公司帐户,而不是我的真实帐户。

几年前我就能做到这一点(因为游乐场会列出要连接的正确帐户),但现在我不知道如何让它正常工作。

2 个答案:

答案 0 :(得分:1)

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

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

其次,您的开发消费者密钥和秘密允许您访问免费的QuickBooks在线沙盒,而您的生产消费者密钥和秘密允许您访问生产QuickBooks在线帐户。

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

-Jarred

答案 1 :(得分:0)

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

因此,您必须确保在oAuth流程中使用生产密钥才能查看生产帐户。

至于简单地获取程序访问我的帐户而不必跳过oAuth程序,据我所知,答案是你必须这样做,包括你在任何时期之后更新密钥选择的。