获得用户的Facebook权限 [英] get user facebook permissions
本文介绍了获得用户的Facebook权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想Facebook的权限添加到我的用户。 这就是我如何做到这一点:
I want to add a facebook permission to my users. That is how I do it:
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
List<String> PERMISSIONS = Arrays.asList("email");
if (!session.getPermissions().containsAll(PERMISSIONS)) {
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(MainActivity.this,
PERMISSIONS);
session.requestNewReadPermissions(newPermissionsRequest);
}
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Toast.makeText(MainActivity.this, user.asMap().get("email").toString(), Toast.LENGTH_LONG).show();
}
}
}).executeAsync();
}
}
});
现在的问题是,我不希望每次打开会话,只是如果用户没有这个权限。 有没有办法在当地知道,如果用户已经批准了此权限在我的应用程序吗?
The problem is that I don't want to open a session every time, just if the user don't have this permission. Is there a way to locally know if the user has already approved this permission in my app?
推荐答案
低于code使用
Session session = getActiveSession();
if(session.isOpened)
{
List<String> permissions = session.getPermissions();
if(!permissions.contain("email"))
{
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(MainActivity.this,
PERMISSIONS);
session.requestNewReadPermissions(newPermissionsRequest);
}
}else
{
Session.openActiveSession(this, true,callback);
}
这篇关于获得用户的Facebook权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文