0

我知道我可能会得到一个“不,你不能那样做”,但这对我来说似乎不合理。

我的客户使用 Quickbooks Online 并希望能够让他的客户登录到他的网站并查看他们欠了多少钱,然后用信用卡支付他们的发票。

显然,客户自己不能登录 Quickbooks Online。我们希望 Web 服务器能够通过 api 直接访问数据。

我找到了 api,但我不确定是否可以让网络服务器连接到它并获取它需要的数据。

我知道这可以用其他系统来完成。我已经使用 OAuth2 使用 GMail 和 Salesforce 完成了它。

我也想从快速手册中加载的最大部分可能是不可用的,因为我在任何地方的 API 中都找不到它。当我的客户打开 Quickbooks Online 时,他可以向任何客户发送一封电子邮件,其中包含通过信用卡在线支付的链接。我们希望能够找到该链接并将用户重定向到它。但我不确定它是否可以通过 api 获得。

我可以使用 webhook,但这需要将所有数据存储在我们的网络服务器上,并将其与现有数据同步。更不用说如果更新碰巧失败会发生什么。

4

1 回答 1

2

您误解了 OAuth 的工作原理,这就是造成这里混乱的原因。

拥有 QuickBooks 公司的人登录,而不是最终用户。他们登录一次,这会为您提供 OAuth 令牌,您可以使用这些令牌永远进行服务器到服务器的调用。

呜呜……

我知道我可能会得到一个“不,你不能那样做”,但这对我来说似乎不合理。

可以做你想做的事,你只是走错了路。

显然,客户自己不能登录 Quickbooks Online。

正确的。

我们希望 Web 服务器能够通过 api 直接访问数据。

这很好,而且完全可以。

我找到了 api,但我不确定是否可以让网络服务器连接到它并获取它需要的数据。

这是可行的。

这里的关键理解是,您将拥有一个 OAuth 连接过程,拥有 QuickBooks 的人将只经历一次,以获得 OAuth 令牌。

然后,您将在服务器端(例如在您的数据库中)存储这些 OAuth 令牌。

然后,您可以随时使用这些存储的 OAuth 令牌进行未来的服务器到服务器 API 调用。

当我的客户打开 Quickbooks Online 时,他可以向任何客户发送一封电子邮件,其中包含通过信用卡在线支付的链接。我们希望能够找到该链接并将用户重定向到它。但我不确定它是否可以通过 api 获得。

我认为现在无法通过 API 获得这些信息。

如果有帮助,可以使用 API 端点发送电子邮件发票: https ://developer.intuit.com/docs/api/accounting/invoice

于 2018-05-31T02:01:31.393 回答