0

我刚刚意识到我没有得到有关访问令牌到期日期的更多信息。准确地说,我说的是 facebook SDK for android,我在authorize()其中使用回调调用该方法,DialogListener如下面的代码所示。

我已经好几个星期没看它了,我知道它以前可以工作,现在当我回到项目时,我发现facebook.getAccessExpires()每次都返回 0 的调用。

我的第一个想法是 API 可能被破坏并且应用了一些我没有注意到的更改。然而,使用大约相同年龄的 iPhone 项目,它似乎收到了一个到期日期。(从我缺乏objective-c技能的情况来看^^)。

接下来,我5a72863793521a96f5a9f4fb72960a27b98e441dfacebook 的 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);
4

1 回答 1

0

facebook 停止提供offline access token permission. 因此访问令牌将在非常排序的时间内有效(2-8 小时)。有关更多详细信息,请参阅Facebook 博客

facebook.getAccessExpires()这是始终返回 0的主要原因。

于 2012-07-25T14:01:47.843 回答