2017-08-07 89 views
1

我想要一些幫助確認使用哪些URL。 Quickbooks Online不再支持新帳戶的OAuth 1,而OAuth 2文檔似乎有點混亂和混亂。最重要的是,在過去的幾天裏,我看到了API中的許多模糊錯誤,似乎有一些定期維護,但即使所有系統都在運行,我仍然看到一條消息:「我們是由於定期維護暫時不可用。「在Quickbooks Online API上更正OAuth 2的URL?

我一直在嘗試通過將URL粘貼到瀏覽器中來獲取授權碼來測試初始步驟。這裏是我的網址,除了假的client_id和假ngrok子域逐字:

https://sandbox-quickbooks.api.intuit.com/connect/oauth2?client_id=aaaaaaaaa9999999&response_type=code&scope=com.intuit.quickbooks.accounting&redirect_uri=https://8888888888bbbbbbbb.ngrok.io/quickbooks/start&state=ABC123987XYZab983111

響應目前給了我一個漂亮的黃色便利貼有「我們很快就會回來」就可以了注意。我知道這似乎很明顯,但Intuit狀態頁面顯示所有內容都是綠色的。如果確實發生故障,如果有人可以確認這是正確的URL,那麼它仍然很有幫助,因爲我注意到沒有一個「發現」文檔具有這個URL,但是在將我的頭撞到牆上之後幾天前我意識到發現文檔可能不正確,所以我轉而嘗試使用沙箱網址。

這是否正確或基本URL應該是別的東西,即使在開發模式如

https://appcenter.intuit.com/connect/oauth2

https://oauth.intuit.com/oauth/v1/get_request_token

我很驚訝沒有一個詳細的與語言無關的REST客戶端分步示例的OAuth2與Quickbooks Online API。有人評論說,Intuit必須認爲展示如何生成簽名太複雜,每個人都應該只使用一個SDK,但沒有一個SDK是我的選擇。

感謝您的幫助!

回答

3

正確的基數是https://appcenter.intuit.com/connect/oauth2。你的所有參數看起來都是正確的,但是如果你想要像這樣的url服務這些參數,你可能會遇到加密問題。從這裏的文檔:https://developer.intuit.com/docs/0100_quickbooks_online/0100_essentials/000500_authentication_and_authorization/connect_from_within_your_app,它說你需要對這些參數進行url編碼。

不知道用什麼語言/環境中,您正在使用,但在回報率,只需將PARAMS在哈希像這樣:

params = { 
    client_id: 'aaaaaaaaa9999999', 
    key: 'value', 
    key: 'value' 
} 

然後URL編碼就像這樣:

query = URI.encode_www_form(params) 

最後,然後將其發送到請求的正文中,然後發送。發送後,期望在響應中收到一個授權代碼作爲查詢參數的一部分,您將使用該代碼重新發回來接收令牌和刷新令牌。希望這可以幫助!

+0

謝謝!很好的答案!在發佈之前,我偶然發現了正確的答案,但是我將頭撞向牆壁的主要原因是因爲我在Intuit遇到停機時開始嘗試使用API​​,並且他們的錯誤消息不清楚發生了什麼。啊!通過將授權請求URL粘貼到Web瀏覽器中,我能夠接收到正確的響應,從而使部分工作不使用URL編碼,如果需要後續步驟,可能會從我這裏抽象出來,因爲oauth2 gem正在使用Faraday gem(this代碼在Ruby on Rails中運行)。 –

相關問題