iOS Facebook SDK - 检查权限

Gio*_*lis 8 iphone facebook objective-c ios

我使用Facebook Objective-C SDK的最新版本在我的应用程序上完美运行了Facebook SSO.如果用户做"某事",我需要在应用程序内部获得额外的许可.如果用户之前给我的话,我不需要问这个许可,所以,我想,在Facebook SDK中应该有一个方法

-(BOOL) checkPermission:(NSString*) permission;
Run Code Online (Sandbox Code Playgroud)

所以我可以像这样使用它:

if( [facebook checkPermission:@"email"] ) {
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

小智 22

这个问题有点旧,但您现在可以在不发出图形请求的情况下检查活动会话具有哪些权限.以下是在HelloFacebookSample中完成的操作:

if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) {
    // permission does not exist
} else {
    // permission exists
}
Run Code Online (Sandbox Code Playgroud)

只需将"publish_actions"替换为"email"即可.


Jui*_*ter 7

SDK不检查特定权限提供直接的方法,但你可以检查用户是否通过检查获准应用程序permissions的连接user对象图形API

GET https://graph.facebook.com/me/permissions
Run Code Online (Sandbox Code Playgroud)

使用上的FQL查询可以实现相同permissions

SELECT email FROM permissions WHERE uid = me()
Run Code Online (Sandbox Code Playgroud)