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

Sdk 桌面应用程序使用IPP QBO API 3.0,sdk,desktop,intuit-partner-platform,intuit,Sdk,Desktop,Intuit Partner Platform,Intuit,我有一个桌面windows应用程序,希望使用intuit IPP QBO API 3.0与quickbooks online进行交互,以创建发票、客户等 正如文档所说,我需要在我的开发者帐户中添加一个应用程序。但是当尝试创建新的QuickBooks API应用程序时,它没有提供桌面应用程序选项。它要求我填写所有的url信息,这实际上是一个在线网络应用程序 在哪里注册intuit IPP QBO API 3.0的桌面应用程序 更新: 有了答案中提供的所有有用信息,我最终为我的项目建立了一个小图书馆

我有一个桌面windows应用程序,希望使用intuit IPP QBO API 3.0与quickbooks online进行交互,以创建发票、客户等

正如文档所说,我需要在我的开发者帐户中添加一个应用程序。但是当尝试创建新的QuickBooks API应用程序时,它没有提供桌面应用程序选项。它要求我填写所有的url信息,这实际上是一个在线网络应用程序

在哪里注册intuit IPP QBO API 3.0的桌面应用程序

更新:


有了答案中提供的所有有用信息,我最终为我的项目建立了一个小图书馆。该库使用OWIN自托管web api 2.0,并将oauth回调重定向到库本身。通过使用该库,我不需要设置一个单独的站点来接收回调并获取令牌

无法注册桌面应用程序。您需要在这些字段中输入一些测试/非特定URL以获取开发令牌

然后,您需要在我们的示例应用程序中设置这些令牌- 或

在开发人员操场上生成关键点。 转到管理我的应用->你的应用>测试连接到应用


在桌面应用程序中设置所有这些键,然后可以调用QBO API。

无法注册桌面应用程序。您需要在这些字段中输入一些测试/非特定URL以获取开发令牌

然后,您需要在我们的示例应用程序中设置这些令牌- 或

在开发人员操场上生成关键点。 转到管理我的应用->你的应用>测试连接到应用


在桌面应用程序中设置所有这些键,然后您可以调用QBO API。

根据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.
常见问题-

因此,您可以看到IPP的marketplace apps.com不支持桌面应用程序

如果您创建桌面应用程序,那么在以标准方式生成OAuth时将面临挑战。因此,对于这个用例,您可以尝试以下方法

您可以在桌面应用程序中使用嵌入式浏览器/单独的web应用程序,在这里您需要实现C2QB流功能,与OAuth游乐场相同。使用该选项,应用程序的最终用户将生成与其QB帐户对应的OAuth令牌。您可以将这些令牌存储在用户的系统中,也可以将其存储在应用程序的服务后端中。最终用户需要第一次这样做。从下一次onwords开始,他们可以简单地使用之前存储的OAuth令牌与QB帐户交互

C2QB-


谢谢

根据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.
常见问题-

因此,您可以看到IPP的marketplace apps.com不支持桌面应用程序

如果您创建桌面应用程序,那么在以标准方式生成OAuth时将面临挑战。因此,对于这个用例,您可以尝试以下方法

您可以在桌面应用程序中使用嵌入式浏览器/单独的web应用程序,在这里您需要实现C2QB流功能,与OAuth游乐场相同。使用该选项,应用程序的最终用户将生成与其QB帐户对应的OAuth令牌。您可以将这些令牌存储在用户的系统中,也可以将其存储在应用程序的服务后端中。最终用户需要第一次这样做。从下一次onwords开始,他们可以简单地使用之前存储的OAuth令牌与QB帐户交互

C2QB-


谢谢

OAuth只是一件痛苦的事情,你需要克服它。一旦你弄明白了,你就会想知道这到底是怎么回事

我收集了一个Windows窗体解决方案示例。它又快又脏,所以对我放轻松-

您还需要DevDefined.OAuth.dll,您可以从中获取代码

关于Intuit、QBO和桌面解决方案:Intuit的应用程序注册不知道或不关心您的应用程序是否为桌面应用程序。唯一的问题是,如果你想在他们的应用程序中心上市。在这种情况下,您必须构建适当的SaaS解决方案,并通过Intuit的安全审查。对于单用户自定义应用程序,您可以将其保持在开发模式。据推测,发布一个未上市的大众市场应用程序也可能不经过所有手续,但我自己还没有经历过这个过程

QB Online的所有新开发都必须使用QBO v3 REST API

您确实需要某种方法来接受来自Intuit的回调,但您只需要一个简单的页面,可以从查询字符串中获取realmId和oauth_验证器,并向用户显示它们。让用户将这些文件复制并粘贴到桌面应用程序中,这样可以安全地保存文件。如果你没有一个网站可以做到这一点,你可以非常便宜地建立一个我偏爱WindowsAzure的网站。我认为它甚至不需要是安全的——验证器只在用于获取访问令牌之前工作,而您需要请求令牌才能使用它

请参阅此处关于如何使用定义的OAuth处理QBO API请求的讨论:

我在这些论坛上没有其他论坛那么慷慨
但是我看到了很多关于OAuth和未发布的应用程序的痛苦和困惑,所以我认为这可能会有所帮助。我可能错过了一些细节,所以我希望其他人会根据需要添加信息。

OAuth只是一件痛苦的事情,你需要克服它。一旦你弄明白了,你就会想知道这到底是怎么回事

我收集了一个Windows窗体解决方案示例。它又快又脏,所以对我放轻松-

您还需要DevDefined.OAuth.dll,您可以从中获取代码

关于Intuit、QBO和桌面解决方案:Intuit的应用程序注册不知道或不关心您的应用程序是否为桌面应用程序。唯一的问题是,如果你想在他们的应用程序中心上市。在这种情况下,您必须构建适当的SaaS解决方案,并通过Intuit的安全审查。对于单用户自定义应用程序,您可以将其保持在开发模式。据推测,发布一个未上市的大众市场应用程序也可能不经过所有手续,但我自己还没有经历过这个过程

QB Online的所有新开发都必须使用QBO v3 REST API

您确实需要某种方法来接受来自Intuit的回调,但您只需要一个简单的页面,可以从查询字符串中获取realmId和oauth_验证器,并向用户显示它们。让用户将这些文件复制并粘贴到桌面应用程序中,这样可以安全地保存文件。如果你没有一个网站可以做到这一点,你可以非常便宜地建立一个我偏爱WindowsAzure的网站。我认为它甚至不需要是安全的——验证器只在用于获取访问令牌之前工作,而您需要请求令牌才能使用它

请参阅此处关于如何使用定义的OAuth处理QBO API请求的讨论:


我在这些论坛上没有其他人那么慷慨,但是我看到了很多关于OAuth和未发布的应用程序的痛苦和困惑,所以我认为这可能会有所帮助。我可能遗漏了一些细节,因此我希望其他人能够根据需要添加信息。

我们的客户正在使用桌面应用程序。因此,客户A将使用它连接客户A的quickbook online帐户,客户B将使用它连接客户B的quickbook online帐户。我想他们需要不同的oauth访问令牌和密码?作为开发人员,我该如何处理?是否每个客户都需要到开发人员的操场上生成密钥?这听起来不太对。桌面应用程序是我们的客户使用的。因此,客户A将使用它连接客户A的quickbook online帐户,客户B将使用它连接客户B的quickbook online帐户。我想他们需要不同的oauth访问令牌和密码?作为开发人员,我该如何处理?是否每个客户都需要到开发人员的操场上生成密钥?这听起来不太对。谢谢你迈克的代码,但是有没有办法不复制粘贴realmId和verifier就获得令牌?@MikeBro59我知道这是一个旧线程,但是OAuth2可能有类似的东西吗?谢谢你的代码,Mike,但是有没有办法在不复制粘贴realmId和verifier的情况下获得令牌?@Mikerb59我知道这是一个旧线程,但是OAuth2可能有类似的东西?