2017-08-07 3 views
1

どのURLを使用するかを確認するための助けが必要です。 Quickbooks Onlineは新しいアカウントでOAuth 1をサポートしなくなり、OAuth 2のドキュメントは少し混乱し混乱しているようです。私は過去数日間、APIからの曖昧なエラーを多く見てきましたが、定期的なメンテナンスが行われていたようですが、すべてのシステムが稼働していても、私はまだメッセージが表示されています予定されたメンテナンスのため一時的に利用できません。Quickbooks Online APIでのOAuth 2の正しいURL?

私は、ブラウザに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を試してみることにしました。

が正しいかは、ベースURLは何か他のものなども、DEVモードで

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

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

のようになっているということですか?

Quickbooks Online APIでOAuth2の詳細な言語に依存しないRESTクライアントのステップバイステップの例がないことに非常に驚いています。誰かが、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から、あなたはそれらのパラメータをエンコードする必要があると言います。

ないあなたが使用しているどのような言語/環境を確認しますが、RoRの中で、ちょうどそのようなようなハッシュでのparamsを置く:

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

次に、このようなようなURLエンコード:最後に

query = URI.encode_www_form(params) 

それを送信する前にあなたの要求の本体に投げ込んでください。送信後、応答のクエリパラメータの一部として認証コードを受け取ることを期待します。これを使用して、トークンとリフレッシュトークンを受け取るために再度ポストバックすることができます。お役に立てれば!

+0

ありがとうございます!素晴らしい答え! Intuitがダウンタイムを経験していて、そのエラーメッセージが何が起こっているのかが明確でないときにAPIを使用しようとしたので、壁に頭をぶつけていた主な理由がありました。 。うん!認証リクエストURLをWebブラウザに貼り付けることで、URLエンコーディングなしでパートが動作するように適切なレスポンスを受け取ることができました。また、oauth2宝石がファラデーの宝石を使用しているため、後のステップで必要であれば抽象化される可能性がありますコードはRuby on Railsで動作しています)。 –

関連する問題