解决方法
如果确保在将应用程序连接到QuickBooks Online Edition时确保正确设置安全性首选项,则可以让ASP .NET应用程序登录并发出请求,而无需将用户发送到QuickBooks Online登录页面.
在应用程序注册过程/连接过程中,它会询问您是否要通过以下提示打开或关闭登录安全性.如果您希望能够访问QuickBooks Online Edition数据而不强制用户每次登录,则必须告诉它要关闭登录安全性.提示符如下:
“你想打开登录安全性吗?”
你必须选择:
“不.任何可以登录[应用程序名称]的人都可以使用该连接”.
除此之外,Yishai对这个过程是正确的.简而言之,要重新进行迭代:
>注册QBOE帐户
>使用Intuit的AppReg服务注册您的集成应用程序
>访问特定链接以将AppReg应用程序绑定到您的QBOE帐户(确保在询问您时关闭登录安全性!)
>向Intuit的服务器发出HTTPS POST请求,以使用Intuit将为您提供的连接票证进行登录
>发出HTTPS POST请求,将qbXML请求发送到Intuit的服务器,您可以使用它来添加,修改,删除和查询QuickBooks Online Edition中的记录.
我的QuickBooks development and integration wiki上有一些额外的文档和一些示例请求,特别是QuickBooks Online Edition integration页面.
我已经构建了一个解决方案来完成你在PHP中提出的要求,它可以在QuickBooks Online Edition中添加,修改和查询数据,而无需用户每次登录,它就像一个冠军.它在PHP购物车(VirtueMart)和QuickBooks Online Edition之间推送和提取订单数据. PHP代码可在此处获得:
QuickBooks PHP Framework
作为旁注,除非您非常熟悉生成SSL证书并通过HTTPS POST发送它们,否则使用DESKTOP通信模型而不是HOSTED模型可以省去很多麻烦.只需确保安全加密连接票证即可.
此外,Yishai的建议是:“一个是以编程方式点击他们的登录页面并提交凭证,就像你是一个用户一样.我确信它不是”支持“但它可能会起作用.”专门针对安全/开发人员指南Intuit和SDK提出的.如果他们抓住你这样做,他们会禁止你的应用程序连接到QuickBooks.