简体   繁体   English

桌面应用程序使用IPP QBO API 3.0

[英]Desktop application Use IPP QBO API 3.0

I have a desktop windows application that wants to use the intuit IPP QBO API 3.0 to interface with the quickbooks online to create invoice, customer, etc. 我有一个桌面Windows应用程序,该应用程序希望使用intuit IPP QBO API 3.0与在线快速簿进行交互,以创建发票,客户等。

As the document said, I need to a add the app in my developer account. 如文档所述,我需要在我的开发人员帐户中添加该应用程序。 But when try to Create New QuickBooks API App, it didn't give the desktop app option. 但是,当尝试创建新的QuickBooks API应用时,它没有提供桌面应用选项。 It asked me to fill all the url informations which really for an online web applicaiton. 它要求我填写所有真正用于在线Web应用程序的URL信息。

Where to register the desktop app for the intuit IPP QBO API 3.0? 在哪里为Intuit IPP QBO API 3.0注册桌面应用程序?

Update: 更新:

With all the helpful information provided in the answers, I ended up a small library DesktopIppOAuth to my project. 有了答案中提供的所有有用信息,我最终为项目创建了一个小型库DesktopIppOAuth The library uses OWIN to selfhost web api 2.0 and redirect the oauth callback to the library itself. 该库使用OWIN自托管Web api 2.0,并将oauth回调重定向到该库本身。 By using that library I don't need to setup a separated site to receive the callback and get the token. 通过使用该库,我不需要设置单独的站点即可接收回调并获取令牌。

OAuth is just a painful thing you need to get past. OAuth只是您需要克服的痛苦的事情。 Once you figure it out you'll wonder what the fuss was all about. 一旦弄清楚了,您会怀疑到底是怎么回事。

I threw together a sample Windows Forms solution here . 在这里整理了一个示例Windows Forms解决方案。 It's quick & dirty so go easy on me ;-) 它又快又脏,所以请放轻松我;-)

You'll also need DevDefined.OAuth.dll which you can get the code for here . 您还需要DevDefined.OAuth.dll,您可以在此处获取代码。

Regarding Intuit, QBO, and desktop solutions: The app registration at Intuit doesn't know or care if your app is a desktop app. 关于Intuit,QBO和桌面解决方案:Intuit上的应用程序注册不知道或不在乎您的应用程序是桌面应用程序。 The only issue is if you want to be listed on their App Center. 唯一的问题是是否要在其“应用程序中心”上列出。 In that case you have to build a proper SaaS solution and go through Intuit's security review. 在这种情况下,您必须构建适当的SaaS解决方案并经过Intuit的安全审查。 For a single-user custom app, you can leave it in dev mode. 对于单用户自定义应用程序,可以将其保留在开发模式下。 Supposedly it's also possible to publish an unlisted mass-market app without going through all the formalities, but I haven't been through that process myself. 据说也可以在不进行所有手续的情况下发布未上市的大众市场应用程序,但是我自己还没有经历过这一过程。

All new development for QB Online must use the QBO v3 REST API. QB Online的所有新开发都必须使用QBO v3 REST API。

You do need some way to accept the callback from Intuit, but you only need a simple page that can grab the realmId and oauth_verifier from the query string and display them for the user. 您确实需要某种方式来接受来自Intuit的回调,但是您只需要一个简单的页面即可从查询字符串中获取realmId和oauth_verifier并为用户显示它们。 Let the user copy and paste these into the desktop app, which should save the securely. 让用户将它们复制并粘贴到桌面应用程序中,这应该安全保存。 If you don't have a web site where you can do this, you can build one pretty cheaply (I'm partial to Windows Azure). 如果您没有可以执行此操作的网站,则可以廉价地构建一个网站(我偏爱Windows Azure)。 I don't think it even needs to be secure - the verifier only works until it's used to get an access token, and you need the request token in order to use it. 我认为它甚至不需要安全-验证程序只有在用于获​​取访问令牌之前才起作用,并且您需要请求令牌才能使用它。

See the discussion about how to process QBO API requests with DevDefined OAuth here: build a signature using devdefined 在此处查看有关如何使用DevDefined OAuth处理QBO API请求的讨论: 使用devdefined构建签名

I haven't been as generous in these forums as many other people, but I see a lot of pain and confusion around OAuth and non-published apps, so I thought this might help a bit. 我在这些论坛上的表现不如其他人那么慷慨,但是我发现围绕OAuth和未发布的应用程序有很多痛苦和困惑,所以我认为这可能会有所帮助。 I probably missed a few details so I hope others will add info as needed. 我可能错过了一些细节,因此希望其他人可以根据需要添加信息。

According IPP's FAQ site - 根据IPP的常见问题解答网站-

What types of applications are supported with QuickBooks API?
QuickBooks API supports non-rich internet, SaaS apps that are accessed by users with a web browser.  Mobile extensions to these SaaS apps are also supported.

FAQ - https://developer.intuit.com/docs/0025_quickbooksapi/0058_faq 常见问题解答-https: //developer.intuit.com/docs/0025_quickbooksapi/0058_faq

So you can see that desktop application is not supported in IPP's marketplace (apps.com) 因此,您可以看到IPP市场(apps.com)不支持桌面应用程序

If you create desktop application then there will be challenges while generating OAuth in the standard way. 如果创建桌面应用程序,则在以标准方式生成OAuth时会遇到挑战。 So you can try the following for this use case. 因此,您可以针对此用例尝试以下操作。

You can have an embedded browser/separate web app in desktop application, where you need to implement C2QB flow functionality(same as OAuth playground). 您可以在桌面应用程序中拥有嵌入式浏览器/单独的Web应用程序,在其中您需要实现C2QB流功能(与OAuth游乐场相同)。 Using that your app's end user will generate OAuth tokens corresponding to their QB account. 使用该应用程序的最终用户将生成与其QB帐户相对应的OAuth令牌。 You can store(encrypted) those tokens either in user's system or you can store those in your app's service backend. 您可以将这些令牌存储(加密)在用户系统中,也可以将其存储在应用程序的服务后端。 End users need to do it for the very first time. 最终用户第一次需要这样做。 From the next time onwords they can simply use the previously stored OAuth tokens to interact with their QB account. 从下一次开始,他们可以使用先前存储的OAuth令牌与其QB帐户进行交互。

C2QB - https://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0020_connect/0010_from_within_your_app/implement_oauth_in_your_app C2QB- https://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0020_connect/0010_from_within_your_app/implement_oauth_in_your_app

Thanks 谢谢

There is no way to register for a desktop app. 无法注册桌面应用程序。 You need to enter some test/non-specific urls in those fields for getting development tokens. 您需要在这些字段中输入一些测试/非特定的URL,以获取开发令牌。

Then, you need to set these tokens in our sample apps- https://github.com/IntuitDeveloperRelations/ OR 然后,您需要在我们的示例应用程序中设置这些令牌-https ://github.com/IntuitDeveloperRelations/

on developer playground to generate the keys. 在开发人员操场上生成密钥。 Go to Manage My Apps->Your app> Test Connect To App 转到管理我的应用程序->您的应用程序>测试连接到应用程序

Set all these keys in your desktop app and then you can make calls to the QBO API. 在桌面应用程序中设置所有这些键,然后即可调用QBO API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 QuickBooks Online(QBO)通过C#中的v2 IPP .NET SDK写入发票上的自定义字段 - QuickBooks Online (QBO) write to Custom Fields on Invoice via v2 IPP .NET SDK in C# 使用IPP SDK API通过.NET将销售收据添加到Quickbooks Online - Adding a sales receipt to Quickbooks Online with .NET using the IPP SDK API 是否可以在独立的桌面JAVA应用程序中使用Android SDK? - Is this possible to use an Android SDK into a standalone desktop JAVA application? Docusign API:如何使用应用程序令牌 - Docusign API: How to use Application Token Quickblox + Swift 3.0 iOS SDK错误:找不到应用程序和QBConnectionZoneTypeProduction - Quickblox + Swift 3.0 iOS SDK Error: No Application Found and QBConnectionZoneTypeProduction 为什么IPP .NET SDK 2.0中缺少属性 - Why is there missing attributes in IPP .NET sdk 2.0 Lync SDK上的桌面共享,应用程序模式返回null - Desktop sharing on Lync SDK , Application Modality returns null 尝试验证和阅读新闻源/时间线(C#桌面应用程序) - Trying to authenticate and read newsfeed/timeline (C# Desktop application) .NET .NET 6 桌面运行时版本之间的应用程序版本兼容性 - .NET Application version compatibility between .NET 6 Desktop Runtime versions iPhone应用程序兼容性,使用3.1 sdk编译。 可以重新提交使用3.0编译的二进制文件吗? - iPhone application compatibility, compiled using 3.1 sdk. Can resubmitt binary compiled using 3.0?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM