2017-08-04 91 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