2017-08-04 89 views
1

我需要使用Quickbooks在线API来同步我的系统和我的客户在快速书上的帐户之间的数据。使用oauth2的Quickbooks在线API

我需要知道是否可以完成oauth2授权流程并在没有人工交互的情况下进行API调用(无需与Intuit的认证和授权窗口进行交互)?

我读了Intuit的文档上:https://developer.intuit.com/docs/0100_quickbooks_online/0100_essentials/000500_authentication_and_authorization/connect_from_within_your_app

的第一步,我做了一个GET请求:

https://appcenter.intuit.com/connect/oauth2?client_id=MY_ID&scope=com.intuit.quickbooks.accounting&redirect_uri=https%3A%2F%2FMY_NGROK_URL.ngrok.io%2FOAuth2PHPExample.php&response_type=code&state=RandomState#/Authorize/COMPANY_ID 

然后,Intuit公司的认证和授权的窗户打开,我需要把我的用户名和密码,然后点击授权按钮以获得授权码。

有没有办法获得授权码而无需验证和授权?

我需要自动执行此任务以使用PHP在后端进行API调用。

谢谢, 马塞洛。

回答

0

有没有办法在没有认证和授权的情况下获得授权码?

不......但是请看下面。

我需要自动执行此任务以使用PHP在后端进行API调用。

您误解了OAuth(1或2)的工作原理。

第一次连接系统将提示您验证/授权访问QuickBooks Online数据。

然后给您一个刷新标记(或访问标记,取决于您是否使用OAuth2与OAuth1)。

然后您存储刷新令牌(或OAuth1的访问令牌),并且可以使用该令牌前进以使您的请求无人参与,而不需要用户参与。

钥匙外带:您只需要用户参与您连接的第一次,然后再不会再次。

+0

谢谢基思!现在我明白oauth的工作原理了。我认为有一种方法可以在不进行身份验证的情况下调用API。 – Marcelo