如何从桌面应用程序在线连接到QuickBooks

时间:2013-09-28 07:48:03

标签: quickbooks intuit-partner-platform quickbooks-online qbxml

行。这个问题已被多次询问并回答。然而,似乎Intuit改变了他们的事情:

  • 他们自己的最新文档不再正确
  • 到目前为止,我在互联网上找到的所有答案都不再有效

因此,唯一的选择是再次提出同样的问题。

我正在C#中构建一个控制台应用程序,需要将数据(发票,客户等)导入到QB在线。它是一个内部集成应用程序,仅供一家公司使用。我绝对不想继续使用SaaS路线。

从各方面来看,我认为QuickBooks QBXML SDK v12 应该在QBOE中的“www.appreg.intuit.com”上注册该应用程序。但是,此地址不再存在且注册过程已更改。 QBOE目前支持三种类型的应用程序:

  • QuickBooks API - SaaS
  • 客户帐户数据API
  • 付款(QBMS)应用程序

通过考虑我需要的功能(创建发票等),我应该创建一个“QuickBooks API”应用程序。但是,这是一个SaaS应用程序,对我来说无法使用。 “客户帐户数据API”绝对不是我需要的。 剩下的唯一选择是“付款(QBMS)应用程序”,它似乎也不是正确的选择。但是,这是三种应用程序类型中唯一可以是托管或桌面的应用程序类型,并且在使用传统SDK时,Internet上的各种集成文章中都描述了“AppID”和“AppLogin”属性。

因此,我创建了一个“付款(QBMS)应用程序”(桌面,制作),按照文档和文章,完成了所有必需的设置,并使用传统的SDK COM对象连接到QuickBooks。

在第一次连接尝试期间,我在我的QBOE帐户中批准了该应用程序并设置了连接令牌。获得连接的所有权限,无需用户身份验证。

最后我得到的是QBSessionManager.BeginSession方法抛出的以下无法提供的异常:

System.Runtime.InteropServices.COMException (0x80040403): Problem communicating with QuickBooks Online Edition

如果我打开登录安全性,会出现一个对话框,提示我登录并粘贴故障单。打开登录URL后     https://login.quickbooks.com/j/qbn/sdkapp/sessionauth2?serviceid=2004&appid= [的AppID]

出现以下消息

There is a problem with sharing your financial data between applications.
Error Message: Application [AppLogin] is not designed to work with service 2004

我也尝试直接使用qbXML,导致“400 Bad request”错误。

是否仍然支持通过SDK连接到QBOE以及我应该做些什么来实现这一目标?

2 个答案:

答案 0 :(得分:5)

转到此处创建QBOE应用程序 - http://developer.intuit.com/Application/Create/QBOE

答案 1 :(得分:0)

你应该使用传统的QBSDK。

请参阅此链接 - https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0250_qb

谢谢

相关问题