我刚刚意识到我没有得到有关访问令牌到期日期的更多信息。准确地说,我说的是 facebook SDK for android,我在authorize()
其中使用回调调用该方法,DialogListener
如下面的代码所示。
我已经好几个星期没看它了,我知道它以前可以工作,现在当我回到项目时,我发现facebook.getAccessExpires()
每次都返回 0 的调用。
我的第一个想法是 API 可能被破坏并且应用了一些我没有注意到的更改。然而,使用大约相同年龄的 iPhone 项目,它似乎收到了一个到期日期。(从我缺乏objective-c技能的情况来看^^)。
接下来,我5a72863793521a96f5a9f4fb72960a27b98e441d
从facebook 的 github 上查看了提交,因为我大约在这个时候开始实现支持 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);