更新facebook android会话权限而无需注销和再次登录
我正在为Android应用程序使用Facebook SDK,除了标准的登录/注销权限外,还需要2个权限。 这两个权限是读取权限:用户组和发布权限:发布 问题是,在最新的facebook api中,需要分别请求每个权限。我对此很满意 问题是,除非我注销并再次登录应用程序,否则在用户确认新权限后,会话对象不会更新为新权限 如果我可以一次请求所有权限,这将不是一个问题,但同样,不再可能 有没有其他方法可以避免这种情况 是的,我已经尝试了OnActivityResult中的所有操作,并且会话中的权限。getActiveSession()对象不会用新权限更新,即使我尝试执行所需的操作,它也会起作用 在每次权限请求之后,要求用户注销并登录应用程序是完全不可行的 这就是我在OnActivityResult中的内容(顺便说一句,它工作得非常好) 我的第一个想法是不使用Session.getPermissions().contains(“此处需要权限”)来实际在线检查权限,而不是Session对象 现在它只是进入了一个循环: 权限已检查=>权限不在那里=>跳转到facebook应用程序请求权限=>用户授予它=>应用程序再次检查权限(即使用户已确认权限也不在那里)并跳转到facebook(当然,facebook只会回复已确认的权限)它们无限地来回跳舞 除了在线检查权限而不是检查对象,您还有其他想法吗?引用 用户组-有限使用 此权限授予在Facebook尚未可用的平台上构建Facebook品牌客户端的应用程序。例如,Android和iOS应用程序将不会获得此权限的批准。此外,Web、桌面和电视应用程序将不被授予此权限 以及用于检查是否已授予权限更新facebook android会话权限而无需注销和再次登录,android,facebook,session,facebook-graph-api,permissions,Android,Facebook,Session,Facebook Graph Api,Permissions,我正在为Android应用程序使用Facebook SDK,除了标准的登录/注销权限外,还需要2个权限。 这两个权限是读取权限:用户组和发布权限:发布 问题是,在最新的facebook api中,需要分别请求每个权限。我对此很满意 问题是,除非我注销并再次登录应用程序,否则在用户确认新权限后,会话对象不会更新为新权限 如果我可以一次请求所有权限,这将不是一个问题,但同样,不再可能 有没有其他方法可以避免这种情况 是的,我已经尝试了OnActivityResult中的所有操作,并且会话中的权限。g
private static final String PERMISSION = "publish_actions";
<- Whatever read permissions you need ->
authButton.setReadPermissions(Arrays.asList("email", "user_birthday",
"read_stream", "user_friends","read_friendlists "));
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
List<String> permissions = session.getPermissions();
if (!permissions.contains(PERMISSION)) {
pendingAnnounce = true;
requestPublishPermissions(session);
return;
}
}
private static final String PERMISSION=“publish\u actions”;
authButton.setReadPermissions(Arrays.asList(“电子邮件”、“用户生日”),
“阅读流”、“用户好友”、“阅读好友列表”);
公共无效调用(会话、会话状态、,
例外情况(例外情况){
if(session.isOpened()){
List permissions=session.getPermissions();
如果(!permissions.contains(PERMISSION)){
pendingAnnounce=真;
请求发布权限(会话);
返回;
}
}
我不知道这对你有多大帮助。谢谢你的回复。这不是问题。我有权限。这正是我现在获取权限的方式。问题是,在用户授予权限后,再次运行此方法,在会话对象中,权限不会用新的和已确认的更新如果我退出并再次登录应用程序,权限就在那里,一切正常。
private static final String PERMISSION = "publish_actions";
<- Whatever read permissions you need ->
authButton.setReadPermissions(Arrays.asList("email", "user_birthday",
"read_stream", "user_friends","read_friendlists "));
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
List<String> permissions = session.getPermissions();
if (!permissions.contains(PERMISSION)) {
pendingAnnounce = true;
requestPublishPermissions(session);
return;
}
}