数日前、Box トークンを保持する方法を尋ねました ( Box Android API での認証データの読み込み、保存、使用)。ここで、ユーザーが自分の Box アカウントにアクセスしたい場合、次のコードを使用して構成しますBoxAndroidClient
。
client = new BoxAndroidClient(C, S);
client.authenticate(loadAuth()); //loadAuth() returns BoxAndroidOAuthData object
認証データを取得してからしばらくの間は正常に動作します。しかし、1時間ほど後に次のメッセージが表示されますAuthFatalFailureException
。
07-06 17:21:01.841: W/System.err(3647): com.box.boxjavalibv2.exceptions.AuthFatalFailureException
07-06 17:21:01.841: W/System.err(3647): at com.box.boxjavalibv2.authorization.OAuthDataController.doRefresh(OAuthDataController.java:275)
07-06 17:21:01.841: W/System.err(3647): at com.box.boxjavalibv2.authorization.OAuthDataController.refresh(OAuthDataController.java:191)
07-06 17:21:01.841: W/System.err(3647): at org.redscorpio.cloudtest.network.Box$2$1.run(Box.java:71)
71行目は
client.getOAuthDataController().refresh();
しかし、Box にアクセスする必要があるたびに発生します。
client.getFoldersManager().getFolderItems(current.getId(), LIST_REQUEST()).getEntries();
client.getFoldersManager().getFolder("0", DEFAULT_REQUEST);
ある時点でトークンが無効になったのではないかと思いますが、更新できない理由と、短期間で更新された理由がわかりません。
これを防ぐために何ができますか?