如何在已安装的应用程序(不是Web应用程序)中在QuickBooks Online中执行身份验证?

时间:2018-05-07 21:45:31

标签: c# .net oauth quickbooks quickbooks-online

假设我有一个安装的应用程序,例如控制台应用程序,而不是Web应用程序,我想与QBO API进行交互 - 我想从我的控制台应用程序执行对QBO的调用(但不是从Web应用程序执行)。所以我必须从控制台应用程序进行身份验证,在控制台中进行调用和输出。

所有QBO SDK似乎都要求提供回调网址或重定向网址,即我服务器上的一个页面,它将执行OAuth 2.0身份验证所需的一段时间。由于我安装的应用程序不是网络服务器,因此我无法托管此逻辑。是的,我可以托管一个Web服务器来处理这个逻辑,但是我不想这样做,这对我的用例浪费了资源(为什么让auth服务器处于待机状态?)。我只想在没有带有QBO API的网络服务器的情况下进行身份验证。这可能吗?我是否搞砸了对API或OAuth的理解?我完全失去了。在所有示例代码中,我都可以找到一个合适的示例,尽管这是我的用例。 (我正在使用.NET / C#)

1 个答案:

答案 0 :(得分:0)

目前,QuickBooks Developer平台似乎无法满足此要求(非网络端点)。

根据Intuit:

  

这些URI处理来自OAuth 2.0服务器的响应并被调用   用户授权连接后。此列表中的URI是   只有可以从中发送授权响应的那些   OAuth 2.0服务器。您必须专门为其定义至少一个URI   在使用OAuth 2.0之前,应用程序的auth端点。

此外,他们还添加了一个注释:

  

实施OAuth 2.0的基于移动或桌面的应用必须提供   为重定向URI分离SaaS层以处理来自的响应   OAuth 2.0服务器。

我意识到这不是你所希望的。但请理解,端点必须是URL,以便安全地返回身份验证令牌。