私は Facebook の Android SDK を使用していますが、Facebook は 2012 年 5 月 1 日から offline_access 権限を廃止しています。私の Android アプリは offline_access を使用しているため、更新しようとしています。 Android チュートリアルのステップ 8では、次のコードを使用してアクセス トークンを拡張するように指示されています...
public void onResume() {
super.onResume();
facebook.extendAccessTokenIfNeeded(this, null);
}
呼び出しの間隔が 24 時間あると仮定すると、アクセス トークンを更新する必要がありますが、更新されたトークンを取得して SharedPreferences に保存するにはどうすればよいでしょうか? 以下に動作すると思われるコードがいくつかありますが、よくわかりません!
問題は、Facebook が 24 時間ごとに 1 回だけトークンの延長を許可している場合、if facebook.getAccessExpires() が期待どおりに機能するかどうかを確認するために 24 時間待たなければならないことです。以下のコードが機能しない場合は、別の方法を試す前にさらに 24 時間待つ必要があります。これにより、テスト環境が非常に遅くなります。
以下のコードが機能することを願っていますが、この質問に対する答えをすでに知っている人はいますか?
facebook.extendAccessTokenIfNeeded(this, null);
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
Date expiryDate = new Date(facebook.getAccessExpires());
Toast.makeText(this, "Access token is " + sdf.format(expiryDate),Toast.LENGTH_LONG).show();
//If calling facebook.getAccessToken() and facebook.getAccessExpires() works I will then save to SharedPreferences