在QuickBooks V3 API中断开应用程序

3

我正在进行QuickBooks v3 API的集成。我已经完成了所有的集成,但是在应用程序与Quickbooks断开连接时遇到了困难。

我正在使用以下代码片段来从QuickBooks中断开连接:

final IAPlatformClient pClient = new IAPlatformClient();
pClient.disconnect(consumerkey, consumersecret, accessToken, accessTokenSecret);

这段代码抛出以下错误:

错误代码:null,错误信息:无法断开连接:null null at com.intuit.ia.connection.PlatformHttpClient.disconnect(PlatformHttpClient.java:81) at com.intuit.ia.connection.IAPlatformClient.disconnect(IAPlatformClient.java:40) at com.intuit.ia.connection.IAPlatformClient$disconnect.call(Unknown Source)

不确定是否缺少断开连接API的任何依赖项,因为所有其他集成(登录/蓝点菜单/连接到QB)都可以使用v3 API正常工作。

我之前用v2 Quickbooks API做过一切,但在v3中遇到了这个问题。

任何帮助都将不胜感激。

预先感谢。

编辑

Quickbooks断开连接API位于https://developer.intuit.com/docs/0025_quickbooksapi/0060_auth_auth/0015_disconnect_api,URL需要一个GET请求。所以,我也尝试通过以下方式向API URL发出GET请求

https://appcenter.intuit.com/api/v1/Connection/Disconnect?oauth_token=token&oauth_token_secret=secret&oauth_consumer_key=key&oauth_consumer_secret=secret

现在我得到了50号错误“缺少appToken”错误。

断开连接API是否使用GET请求?我错过了哪个参数?

更新:

Quickbooks V3 API的示例代码链接。

https://github.com/IntuitDeveloperRelations/QuickbooksV3API-Java/tree/master/QuickbooksV3API


您的Quickbooks断开API链接已损坏。 - Ryan Gates
Quickbooks最近更新了他们的资源。我上次使用已经很久了,上面的链接仍然有效。您可以使用此链接获取示例代码。 - Raghav
你能否编辑你的问题,包含可用的链接,而不是包含注释? - Ryan Gates
1个回答

1
请将最新的(1.0.2) qbapihelper jar添加到您的类路径中并尝试调用。
Jar名称- ipp-java-qbapihelper-1.2.0-jar-with-dependencies.jar 断开连接API没有任何问题。 它运行良好。 您可以使用任何标准的REST客户端(如Fiddler)尝试此调用。 以下是详细信息。
GET URI- https://appcenter.intuit.com/api/v1/Connection/Disconnect 请求头 -
content-type: application/xml
Host: appcenter.intuit.com

回应 -
<?xml version="1.0" encoding="utf-8"?>
<PlatformResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://platform.intuit.com/api/v1">
  <ErrorMessage />
  <ErrorCode>0</ErrorCode>
  <ServerTime>2013-12-24T10:09:48.7601Z</ServerTime>
</PlatformResponse>

上面的回复表明API调用成功。 参考文献 - 编辑 - 更新最新的文档参考 - https://developer.intuit.com/docs/0050_quickbooks_api/0020_authentication_and_authorization/oauth_management_api#Disconnect
谢谢

2
感谢您的回复。 jar ipp-java-qbapihelper.jar 在 ia.properties 文件中缺少断开连接 URL 属性。这就是错误发生的原因。我添加了该属性并重新编译了 jar 包,现在它可以正常工作了。谢谢。 - Raghav
是的,在示例项目中,用户定义的ia.properties文件有该条目。这就是为什么它在那里正常工作的原因。在下一个版本中,这个问题将在helper jar中得到解决。谢谢。 - Manas Mukherjee
是的,在ia.properties文件中添加新行断开连接后,它可以工作。但我想知道,重新连接时它是如何工作的?我的API在重新连接时工作正常,你有任何想法吗@ManasMukherjee? - MrYo
可能该端点在其他地方被硬编码了。我现在不确定。您可以使用jd-gui反编译器查看是否是这种情况。否则,星期一我会尝试检查并确认。谢谢。 - Manas Mukherjee
您引用的链接已经失效。 - Ryan Gates
嗨,Ryan,感谢您指出这个问题。文档网站发生了很多变化。它仍然参考旧版本。我已经更新了链接。谢谢。 - Manas Mukherjee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接