【问题标题】:Quickbooks Connecting Seller API Credentials using Client ID/Client Secret -- any other method?Quickbooks 使用客户端 ID/客户端密码连接卖家 API 凭证——还有其他方法吗?
【发布时间】:2019-12-16 20:57:52
【问题描述】:

我正在使用Quickbooks API,并且正在尝试将卖家快速手册与 API 连接起来。为此,它目前说我们需要传递sellers Client API Key/Secret。这是我当前的代码:

$dataService = DataService::Configure(array(
    'auth_mode' => 'oauth2',
    'ClientID' => $request->client_id,
    'ClientSecret' => $request->client_id,
    'RedirectURI' => 'redirecturi',
    'scope' => "com.intuit.quickbooks.accounting",
    'baseUrl' => 'https://sandbox-quickbooks.api.intuit.com'
));

我担心让我们的客户输入客户 ID 和密钥会很长。我怀疑我的任何客户都知道如何单独解决这个问题。 有没有办法使用连接到 api 的电子邮件地址(或类似的东西)将卖家快速手册与 api 连接起来

【问题讨论】:

    标签: php quickbooks


    【解决方案1】:

    这个问题的直接答案:

    有没有一种方法可以使用 api 连接卖家快速手册 连接到 api 的电子邮件地址(或类似的东西)

    。要连接 QuickBooks,Client IDClient Secret(实际上是加密密钥、OAuth 重定向 URI、EULA 网站和 Intuit 的注册过程)都是必需的。

    但是您提出问题的方式让我认为您可能误解了与 QuickBooks(以及一般的 OAuth)的连接是如何工作的。所以,请继续阅读。

    通常,QuickBooks 集成属于以下类别之一:

    1.托管应用程序的公司与连接 QuickBooks 的公司相同

    例如您是一名顾问,为您的客户构建了自定义 QuickBooks 集成,因此他们可以将自己的后端/应用程序连接到自己的 QuickBooks。

    在这种情况下,您应该引导您的客户在https://developer.intuit.com 上创建一个“应用程序”并获取Client IDClient Secret

    他们只需要这样做一次

    然后他们将通过 OAuth 连接过程一次且仅一次,您的程序将存储 accessrefresh 令牌。您将使用存储的令牌对 API 进行身份验证。

    2。如果您托管自己的应用并希望客户连接他们的 QuickBooks(例如 SaaS 应用):

    如果您是 SaaS 应用程序的开发者,那么应该在https://developer.intuit.com注册

    然后Client IDClient Secret 保密。当您的客户想要将他们的 QuickBooks 连接到您的应用程序时,您可以提供一个按钮,以便他们可以通过 OAuth 流程连接一次且仅一次。您的所有客户都将使用相同的Client IDClient Secret,但对于每个连接的QuickBooks 帐户,您将获得一对不同的accessrefresh 令牌。

    存储这些令牌,然后使用这些令牌对每个客户的 QuickBooks Online 帐户进行身份验证。

    不要让您的客户提供他们自己的Client IDClient Secret。您拥有该应用程序,因此您也拥有Client IDClient Secret,并且需要将它们安全地存储在您的应用程序中。

    3.您构建了某种插件/应用程序,您的客户自行托管并将他们自己的 QuickBooks 连接到

    例如您开发了一个 WordPress 插件来将 QuickBooks 连接到 WordPress,并且您希望允许人们下载您的 .php 代码,将其托管在他们自己的网站上,并连接他们自己的 QuickBooks。

    这是非常丑陋的场景,并且没有很好的工作流程。

    在这种情况下,您向其出售应用程序/插件的每个人都需要在 https://developer.intuit.com 上注册自己的应用程序

    他们需要获得自己的Client IDClient Secret,并将它们安全地存储在他们的服务器上。

    此人将通过 OAuth 流程一次且仅一次,Intuit 会将 accessrefresh 令牌返回给他们,您的插件应该安全地存储这些令牌并使用它们进行身份验证到未来的 API。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 2021-11-10
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多