使用客户ID /客户机密的Quickbooks连接卖方API凭据-其他任何方法?

问题描述 投票:0回答:1

我正在使用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个回答
0
投票

此问题的直接答案:

是否有一种方法可以使用连接到api的电子邮件地址(或类似的名称)

no。要连接QuickBook,都需要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应用程序的开发人员,则you应该在https://developer.intuit.com中注册

然后您Client IDClient Secret的秘密保留给自己。当您的客户要将QuickBooks连接到您的应用程序时,您可以提供一个按钮,以便他们可以通过OAuth流程连接一次并恰好一次。您所有的客户都将使用相同的Client IDClient Secret,但是对于每个已建立连接的QuickBooks帐户,您将获得不同的一对accessrefresh令牌。

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

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

3。您构建了某种插件/应用程序,该插件/应用程序您的客户自己托管,并将自己的QuickBook连接到

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

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

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

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

此人将经历OAuth流程一次且仅一次

,并且Intuit将把它们返还给它们accessrefresh令牌,并且您的插件应安全地存储它们并使用它们来验证要使用的API向前。
© www.soinside.com 2019 - 2024. All rights reserved.