3

好的。这个问题已经被问了很多次并回答了。然而,似乎忒对他们的一部分改变了一些事情这样:如何从桌面应用程序在线连接到QuickBooks

  • 他们自己最新的文档不再正确
  • 所有我迄今发现在互联网上不再工作

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

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

所有帐户似乎应该QuickBooks QBXML SDK v12 应用程序注册在QBOE“www.appreg.intuit.com”。但是,该地址不再存在,并且注册过程已更改。目前QBOE支持三种类型的应用程序:

  • QuickBooks的API - 萨斯
  • 客户账户数据API
  • 付款(QBMS)应用

通过考虑我需要(发票创建等功能)我应该创建一个“QuickBooks API”应用程序。但是,这是一个对我无法使用的SaaS应用程序。 “客户帐户数据API”绝对不是我所需要的。 剩下的唯一选择就是“付款(QBMS)应用程序”,这似乎也不是正确的选择。但是,这是三种应用程序类型中唯一可以托管或桌面的应用程序类型,并且在使用传统SDK时可以在互联网上的各种集成文章中描述“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错误请求”错误。

通过仍然支持的SDK连接到QBOE,我应该怎么做才能实现这一目标?

回答

5

去这里创建一个QBOE应用 - http://developer.intuit.com/Application/Create/QBOE

+1

随着新的“和谐”界面,这是打破。可能不是一个很好的方式让人们去了,因为它在几个月后根本无法工作。 –

+1

你是一个拯救生命的人! – ColinM

0

您应该使用传统的QBSDK。

请参考以下链接 - https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0250_qb

感谢

+1

我正在使用传统的SDK。但是,它似乎并不像描述的那样工作。在回复之前请先阅读我的问题。 –

+0

我编辑问题以明确说明我正在使用“QuickBooks QBXML SDK v12”。 –

+0

在文章结尾处,您已经询问“是否仍然支持通过SDK连接到QBOE”。我确认它仍然支持。在QBSDK的链接中,有几个重要的页面。你看过示例程序页面吗? https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0250_qb/0050_documentation/sample_code.I'm在您的qts中添加qbsdk标签。谢谢 –

相关问题