0

アクセス トークンの有効期限に関する情報がこれ以上得られないことに気付きました。正確には、以下のコードに示すように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);
4

1 に答える 1

0

facebook へのアクセスの提供を停止しますoffline access token permission。したがって、アクセス トークンは非常に長い時間 (2 ~ 8 時間) 有効です。詳しくはフェイスブックブログをご覧ください。

これが主な理由で、facebook.getAccessExpires()常に 0 を返します。

于 2012-07-25T14:01:47.843 に答える