我正在使用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连接起来
此问题的直接答案:
是否有一种方法可以使用连接到api的电子邮件地址(或类似的名称)
是no。要连接QuickBook,都需要Client ID
和Client Secret
(实际上是加密密钥,OAuth重定向URI,EULA网站以及Intuit的注册过程)。
但是您问问题的方式使我认为您可能误解了与QuickBooks(通常是OAuth)的连接如何工作。因此,请继续阅读。
通常,QuickBooks集成属于以下类别之一:
1。托管应用程序的公司与连接QuickBooks的公司
例如您是为您的客户构建自定义QuickBooks集成的顾问,因此他们可以将自己的后端/应用程序连接到自己的QuickBooks。
在这种情况下,您应该引导客户通过在https://developer.intuit.com上创建“应用”并获取Client ID
和Client Secret
。
他们只需要这样做一次。
然后他们将进行OAuth连接过程一次且仅一次,您的程序将存储access
和refresh
令牌。您可以使用存储的令牌对以后的API进行身份验证。
2。如果您托管自己的应用程序并希望让您的客户连接他们的QuickBooks(例如SaaS应用程序):
如果您是SaaS应用程序的开发人员,则you应该在https://developer.intuit.com中注册
然后您将Client ID
和Client Secret
的秘密保留给自己。当您的客户要将QuickBooks连接到您的应用程序时,您可以提供一个按钮,以便他们可以通过OAuth流程连接一次并恰好一次。您所有的客户都将使用相同的Client ID
和Client Secret
,但是对于每个已建立连接的QuickBooks帐户,您将获得不同的一对access
和refresh
令牌。
存储这些令牌,并使用这些令牌对以后每个客户的QuickBooks Online帐户进行身份验证。
不要让您的客户提供自己的Client ID
和Client Secret
。您拥有应用程序,因此也拥有Client ID
和Client Secret
,并且需要将它们安全地存储在应用程序中。
3。您构建了某种插件/应用程序,该插件/应用程序您的客户自己托管,并将自己的QuickBook连接到:
例如您开发了一个WordPress插件将QuickBooks连接到WordPress,并且您希望允许人们下载.php
代码,将其托管在自己的网站上,并连接他们自己的QuickBooks。
这是一个非常丑陋的场景,没有很好的工作流程。
在这种情况下,您向您出售应用程序/插件的每个人都需要在https://developer.intuit.com上注册自己的应用程序>
他们将需要获得自己的Client ID
和Client Secret
,并将它们安全地存储在其服务器上。
此人将经历OAuth流程一次且仅一次
,并且Intuit将把它们返还给它们access
和refresh
令牌,并且您的插件应安全地存储它们并使用它们来验证要使用的API向前。