【发布时间】:2014-05-13 15:04:47
【问题描述】:
我正在尝试编写一个应用程序,该应用程序将通过 java spring 引擎连接到 Quickbooks Online API,将一些数据下拉并转换,然后通过电子邮件发送到某个地方。
我已经完成了所有这些工作,但我现在的问题是我的 QBO 令牌的 180 天到期。我想重新连接。 (我使用的是 1.2.0 版的 ipp-java-qbapihelper 和 2.0.3 版的 ipp-v3-java-devkit)。
我找到了这个答案:Disconnecting app in quickbooks v3 api,它谈到了断开连接(并告诉您编辑 ia.properties 文件以包含断开连接的 url,我这样做了,添加了 disconnect_url=https://appcenter.intuit.com/api/v1/Connection/Disconnect)。
由于此应用程序的一个版本目前正在生产中,我创建了另一个应用程序并通过以下步骤将其连接到 QBO:http://www.mooreds.com/wordpress/archives/1396 我已验证新应用程序可以通过检索客户来连接到 QBO。
现在我只是想重新连接。我的总体思路是:
- 尝试重新连接
- 如果失败,正常连接,因为我在180天内
- 如果成功,请使用新的访问令牌(并将它们存储起来,以便后续调用可以使用它们)。
但是,我无法重新连接或断开连接。如果我写这样的代码:
IAPlatformClient client = new IAPlatformClient();
client.disconnect(consumerKey, consumerSecret, accessToken, accessTokenSecret);
我收到此错误消息:
Error Code: 100,Error Message: Error Revoking Access for authId=xxx, realmId=, appToken=xxxx
realmId 是空白的,这对我来说很有趣。我看不到任何在 IAPlatformClient 上设置 realmid 的方法或如何使用此类的示例。而且 appToken 和我用来生成上下文的 apptoken 不同。
如果我尝试重新连接:
IAPlatformClient client = new IAPlatformClient();
client.reConnect(consumerKey, consumerSecret, accessToken, accessTokenSecret);
我收到此错误消息:
Caused by: Error Code: null,Error Message: Failed to disconnect: java.lang.NullPointerException null
这是因为我正在使用处于开发模式的应用程序吗?这只是一个在我们公司周围移动数据的内部应用程序,所以我不确定是否需要将其移动到生产状态。
我不应该使用 IAPlatformClient(如果是,我应该使用什么)?
这是一个 url:https://appcenter.intuit.com/Playground/OAuth/IA/,它可以让您连接一个持续时间较短的应用程序,但使用它似乎没有帮助——我找不到访问令牌和访问令牌秘密。
我查看了网上(找不到比我上面提到的 SO 问题更多的内容)和 IPP liveconnect 论坛。我还查看了示例 QB java 代码:https://github.com/IntuitDeveloperRelations/QuickbooksV3API-Java/,但它是面向 web 应用程序的,所以我发现它并不是那么有用。我还阅读了断开连接文档:https://developer.intuit.com/docs/0025_quickbooksapi/0053_auth_auth/oauth_management_api#Reconnect,很遗憾我没有收到任何记录在案的错误消息。
liveconnect 论坛有这个帖子:https://intuitpartnerplatform.lc.intuit.com/questions/800930-reconnect-c-or-net-example,但它并没有太大帮助。我还从 PHP https://intuitpartnerplatform.lc.intuit.com/questions/806889-how-should-i-call-reconnect-api-using-php 中查看了这个示例,它看起来相当不错,但不能转换为 java。
【问题讨论】:
标签: java intuit-partner-platform quickbooks-online