アクセス トークンの有効期限に関する情報がこれ以上得られないことに気付きました。正確には、以下のコードに示すようにauthorize()
、コールバックを使用してメソッドを呼び出す android 用の facebook SDK について話しています。DialogListener
私は数週間それを見ていませんでしたが、以前は機能していたことを知っていましたが、プロジェクトに戻ると、facebook.getAccessExpires()
毎回 0 を返すという呼び出しが見つかりました。
私が最初に考えたのは、API が壊れていて、気付かなかったいくつかの変更が適用された可能性があるということでした。ただし、ほぼ同年代のiPhoneプロジェクトを使用すると、有効期限が表示されるようです。(Objective-C のスキルが不足していることがわかります ^^)。
次に、 Facebook の github5a72863793521a96f5a9f4fb72960a27b98e441d
からcommit をチェックアウトしました。これは、この時期に FB のサポートを実装し始めたため、SDK が何らかの劇的な方法で変更されたかどうかを確認できると考えたからです。
これまでのところ、私の努力はすべて無駄であり、このバグを追跡する正当な理由が思いつきません。
DialogListener dialogListener = new DialogListener(){
@Override
public void onComplete(Bundle values) {
mPrefsEdit.putString(USER_ACCESS_TOKEN, facebook.getAccessToken() )
.putLong(USER_ACCESS_EXPIR, facebook.getAccessExpires() )
.commit();
}
//other required overrides
}
Facebook facebook = new Facebook(APP_ID);
facebook.authorize(activity, APP_PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, dialogListener);