【发布时间】:2012-02-29 17:00:15
【问题描述】:
我正在使用我刚刚从 github 下载的 facebook android sdk。
我了解访问令牌仅在非常有限的时间内有效,并且每次启动应用程序时都需要按照文档中的说明进行扩展。 https://developers.facebook.com/docs/mobile/android/build/#extend_token
这有两个问题:
1) 当令牌已经过期(仅仅一两个小时后!)时,函数 extendAccessTokenIfNeeded() 不会更新。
2) 当我绕过第一个问题时,另一个问题是找不到扩展令牌所需的意图。
来自 SDK 源代码:
Intent intent = new Intent();
intent.setClassName("com.facebook.katana",
"com.facebook.katana.platform.TokenRefreshService");
...
ResolveInfo resolveInfo =
context.getPackageManager().resolveActivity(intent, 0);
if (resolveInfo == null) {
return false;
}
resoveInfo 在这里始终为空。
关于如何扩展令牌的任何想法?我不想在令牌过期时一直调用 authenticate() 函数。这将完全破坏用户体验!
谢谢 西蒙
【问题讨论】:
-
您可以使用此处所述的离线访问权限 - stackoverflow.com/a/2705505
-
我知道offline_access 权限。但是,这不是根据 FB 文档处理令牌过期的首选方法,也不会改变处理这种情况的首选方法不起作用的事实。 developers.facebook.com/docs/offline-access-deprecation
-
你有什么解决办法吗?我有同样的问题,我的调查得出了同样的结论:resolveInfo 为空,这就是 extendAccessToken 不起作用的原因……非常感谢有关这方面的消息!
-
不,不是。我最终还是使用了 offline_access 权限。
标签: android facebook single-sign-on token