Android Facebook:getPermissions不工作
我正在尝试确定我的用户是否具有发布权限,我正在为其运行下一个代码:Android Facebook:getPermissions不工作,android,facebook,permissions,Android,Facebook,Permissions,我正在尝试确定我的用户是否具有发布权限,我正在为其运行下一个代码: private static final List<String> PERMISSIONS = Arrays.asList("publish_actions"); private void post(Bundle postParams){ // Check for publish permissions List<String> permissions = Session.getA
private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
private void post(Bundle postParams){
// Check for publish permissions
List<String> permissions = Session.getActiveSession().getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
// Ask for permission logic
}
else{
// Post logic
}
}
private boolean isSubsetOf(Collection<String> subset, Collection<String> superset) {
for (String string : subset) {
if (!superset.contains(string)) {
return false;
}
}
return true;
}
private static final List PERMISSIONS=Arrays.asList(“publish_actions”);
专用作废后处理(捆绑后处理参数){
//检查发布权限
列表权限=Session.getActiveSession().getPermissions();
如果(!isSubsetOf(权限、权限)){
//请求许可逻辑
}
否则{
//后逻辑
}
}
私有布尔isSubsetOf(集合子集、集合超集){
for(字符串:子集){
如果(!superset.contains(string)){
返回false;
}
}
返回true;
}
但是,即使我从facebookSession.getActiveSession().getPermissions()
中的应用程序帐户中删除权限,也会返回一个包含该权限的列表
我做错了什么?如何清除facebook上的权限缓存?会话认为自己拥有的权限会缓存在设备上,因此一旦获得这些权限,它总是认为自己拥有这些权限。但是,如果用户将发布请求从网站中删除,则发布请求将失败。你可以在这里看到Facebook建议你如何处理这些错误- 在您提出请求之前,根本无法知道用户已从网站中删除了权限
如果你想知道你的应用程序在任何时候拥有的确切权限集,你可以随时自己向/me/permissions发出图形请求。会话认为它拥有的权限被缓存在设备上,因此一旦它获得这些权限,它总是认为它拥有这些权限。但是,如果用户将发布请求从网站中删除,则发布请求将失败。你可以在这里看到Facebook建议你如何处理这些错误- 在您提出请求之前,根本无法知道用户已从网站中删除了权限 如果您想知道您的应用程序在任何时候拥有的确切权限集,您可以随时向/me/permissions发出图形请求