2017-01-12 12 views
4

以下のような投稿要求があります。アクセストークンの有効期限が切れて更新トークンが取得され、サービスコールが続行される場合、Retrofit 2.0インターセプタのように自動化しますか?中断することなく?アクセストークンが期限切れになり、アンドロイドでHttpURLConnectionを使用して401を取得すると、リフレッシュトークンを自動的に取得する方法?

URL url = new URL(myurl + "?access_token=" + access_token); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setReadTimeout(100000000 /* milliseconds */); 
conn.setConnectTimeout(150000000 /* milliseconds */); 
conn.setRequestMethod("POST"); 
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); 
conn.setRequestProperty("charset", "utf-8"); 
conn.setDoInput(true); 
conn.connect(); 

401応答コードを取得したときに自動的にこれを行う方法はありますか?

+0

はい、独自の方法で手動で達成できます。 serviceCallのリクエストを作成すると、アクセストークンが失効し、同時にアクセストークンを要求することができます。最後に実行したことがあれば、その前回のリクエストを成功させることができます。 –

答えて

0

私が知る限り、これは純粋に要件ベースであるため、これはどのフレームワークでも提供されません。下記のようにSERIALコールを掲示する必要があります:

  1. ポストメインコールアクセストークン;成功した場合は、ステップ2に進みます。
  2. 更新トークンを使用して新しいアクセストークンをポストコールします。成功した場合はアクセストークンを更新し、ステップ1と同様にメインコールを更新します。
  3. リフレッシュトークンが期限切れの場合と同じ方法で、同じシリアルウェイで処理するよりも同じです。

ほんの少し役に立ちます。

+0

ありがとう@neeraj – Supz

+0

サービスや放送受信機でこれを達成できますか?はいの場合、どうですか? – Supz

+0

あなたはBroadcastReceiverまたはInterfaceで独自のイベントを作成できます。しかし、私たちはそれをコード化しなければなりません。既に作成されたメソッドはありません。 – Tarun

関連する問題