java - 如何在用户不登录的情况下在我的网络应用程序中获取 Quickbooks 在线数据

标签 java grails groovy quickbooks quickbooks-online

我正在为本地商店创建一个电子商务应用程序,他们使用 Quickbooks Online。我可以看到 Quickbooks Online API 需要一个“连接到 Quickbooks”按钮,然后用户才能登录,但这不是我想要的。我正在寻找的是当他们查看产品页面、应用程序查询(或发送 REST/SOAP 调用)并获取我商店的产品数据时的内容。我们的客户不会知道我们正在在线使用 Quickbooks,并且肯定不会登录。流程如下:

客户点击产品

ProductsAction 将执行对 QuickBooks 的服务调用以获取我们销售的产品(从产品中选择 *)

ProductsAction 将返回 Success,将产品列表传递到要呈现的页面。

mycompany/Products 呈现从 QuickBooks Online 返回的项目。

有什么可行的方法吗?我读到的所有内容都需要 O'Auth 身份验证(这意味着用户必须登录 QBO)。

如有任何问题,请随时提出,谢谢!

最佳答案

I can see the Quickbooks Online API requires a "Connect to Quickbooks" button where the user then logs in, but that's not what I'm looking for.

是的,确实如此。

您只需登录一次。只需一次,然后您就永远不需要再次登录。因此,您的 QuickBooks 管理员使用“连接到 QuickBooks”按钮登录一次,然后就不再登录。

相反,您存储 OAuth token ,并使用存储的 token 从那里进行查询。

What I'm looking for is something when they look at the products page, the app queries (or sends a REST/SOAP call) and gets back product data for my store.

这一切都是完全可行的。您现在无法执行此操作的原因是因为您没有像应有的那样存储 OAuth token

Our customers will have no idea that we're using quickbooks online, and definitely won't have a login.

他们不需要对此有任何了解。连接一次后存储 OAuth token ,然后一切都可以无人值守,无需登录,您只需随时查询即可。

Is there any possible way to do this?

是的!

Everything I've read requires O'Auth authentication (meaning the user would have to login to QBO).

QuickBooks 管理员登录一次,然后就再也不会登录了。仅在一次登录后存储 OAuth token ,然后使用它们来执行将来的所有查询。

这就是 OAuth 对于整个星球上使用 OAuth 的每个应用程序的工作原理。登录并验证一次,存储您获得的 token 以供将来查询。

... ...

我是否提到过您应该存储在 QuickBooks 管理员登录一次后取回的 OAuth token ? :-P

关于java - 如何在用户不登录的情况下在我的网络应用程序中获取 Quickbooks 在线数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424785/

相关文章:

java - 为什么三元运算符会意外地转换整数?

java - 这是使用 Enum 将其保存在数据库中的正确方法吗?

Grails 命名为层次结构中的查询

grails - 通过远程或其他服务器访问时,Grails重定向不起作用

java - Jasper 报告 - OutOfMemoryError : PermGen space

groovy - 为什么这个顶级 Groovy 类不能是静态的?

Java - 可使用自己的 hasNext() 和 next() 迭代 : how to do it right?

java - Elasticsearch自定义插件: Add extra query parameter before search

Grails - 在计划作业中使用 cron 表达式的属性值

jenkins - 如何访问job dsl中的字符串参数