我构建了一个使用XMPP连接到Facebook聊天的Facebook应用程序。它运作良好。但最近我尝试授权它的帐户不要求正确的权限,停止我的应用程序工作。贝娄是我的应用程序从Facebook获得的权限的两个屏幕截图。一个显然比另一个显示更多的权限。我请求许可的代码并没有改变:Facebook应用程序不再请求正确的权限
Session session = Session.getActiveSession();
if (session == null) {
if (savedInstanceState != null) {
session = Session.restoreSession(this, null, statusCallback,
savedInstanceState);
}
if (session == null) {
session = new Session(this);
}
Session.setActiveSession(session);
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
session.openForRead(new Session.OpenRequest(this)
.setPermissions(
Arrays.asList("xmpp_login",
"user_online_presence",
"friends_online_presence",
"read_mailbox", "read_friendlists"))
.setCallback(statusCallback));
}
}
正确的权限:
错误:
你是否从你的facebook应用程序获得了所需权限的对话框?因为如果我在开始会话时没有记错,它应该请求这些权限(如果不是在经过身份验证的会话中) – JoxTraex
这些屏幕截图显示了用户拥有*权限授予应用程序的权限,他们没有显示auth中显示的权限集对话框显示给用户 - 是否正确地询问您要求的权限?如果没有,您确定您尝试打开的会话是否正确应用了请求的权限集? – Igy
@Igy在进行一些测试之后,当用户在进行身份验证时询问用户的权限时,似乎并不一致,即使我的代码永远不会更改。 – Peter