2016-07-14 15 views
0

私はMYOBのaccountright Live api v2を使用しています。私はログイン画面に行くことなくアクセストークンを取得したい。アクセストークンを取得するためにCURLリクエストを送信すると、私はmyobログイン画面にリダイレクトされます。どのようにスキップするのですか?私が送りますリクエストは、URLにある:送らMyob - AccountRight Live Api v2ログイン画面をスキップ

https://secure.myob.com/oauth2/v2/authorize

とのparamsは、次のとおりです。アクセストークンを取得するためのAPIへのあなたの最初のリクエストの後

Array 
(
    [client_id] => xxxxxxxxxxxxxxxxxxxxxxxx 
    [client_secret] => xxxxxxxxxxxxxxxxxxxxx 
    [scope] => CompanyFile 
    [code] => XXXXXXXXXXXXXX 
    [redirect_uri] => http://myappcodeonmydomain.com 
    [grant_type] => authorization_code 
) 
+0

解決方法を見つけましたか? – M0rty

+0

はい、以下の回答をご覧ください。これがフローの仕組みです。最初にログインし、毎回リフレッシュトークンを使用するだけです。 – Passionate

答えて

0

、あなたも提供されるべきですリフレッシュトークンを使用します。アクセストークンは一定期間後に期限切れとなり、リフレッシュする必要があります。 Authentication Documentationでアクセストークンセクションリフレッシュから

アクセストークンには有効期限があり、あなたは1を受信したとき、あなたは もの有効期限とリフレッシュトークンを受け取ります。 アクセストークンが期限切れになると、APIへのアクセスには使用できなくなります。したがって、 をリフレッシュする必要があります。このURLへ

'client_id' // your API Key 
'client_secret' // your API Secret 
'refresh_token' // your refresh token 
'grant_type' // this should say refresh_token 

:あなたは、次の のパラメータを掲載することにより、これを行うhttps://secure.myob.com/oauth2/v1/authorize

注:データは、URLクエリ文字列にフォーマットされている間、あなたは は、URLを介して情報を渡すことはありません(つまり、GETリクエストになります)、あなた POSTでこれをクエリ文字列を渡す必要があります

例として、アクセストークンとリフレッシュトークンをデータベースに保存し、今後10分以内に期限切れにする予定です。その時間が経過してからリクエストが行われる場合は、リフレッシュ手順を呼び出してアクセストークンを更新し、毎回ログインプロンプトを表示することなく、気楽に進めることができます。

どのユーザーがログインしているか、および接続先のCompanyファイルのGUIDを確認するには、少なくとも1回以上表示する必要があります。

0

初回の認証について話している場合、それを行う方法はありません。 URLを返すことで、ユーザーをログインページにリダイレクトする必要があります。 トークンをリフレッシュすることについて話しているのなら、それは簡単です。 API接続の実装方法がわかりません。私はmyob ruby​​ sdkを使用しています。 ruby​​ sdkは使い方が簡単で、すべての認証操作を行います。 :)

関連する問題