ios – 发布或管理权限不允许使用读取权限FACEBOOK SDK进行请求

我目前正在尝试将Facebook登录注册流程应用到我们的应用程序中.
但是有一点问题.我从Web-Api获得了权限,如果我尝试将它们传递给Facebook SDK的openActiveSessionWithReadPermissions方法,则会出现以下消息的错误

> Terminating app due to uncaught exception
> 'com.facebook.sdk:InvalidOperationException',reason: 'FBSession:
> Publish or manage permissions are not permited to to be requested with
> read permissions.

所以我似乎无法通过此方法传递发布或管理权限.
我现在的问题是:为什么我不能将此参数传递给openActiveSession,我该怎么做?

解决方法

如果要使用ReadPermissions以外的权限打开活动会话,可以尝试

openActiveSessionWithPublishPermissions:(NSArray *)permissions 
                         defaultAudience:(FBSessionDefaultAudience) 
                            allowLoginUI:(BOOL)allowLoginUI
                       completionHandler:^(FBSession *session,FBSessionState status,NSError *error)handler

方法.或者,如果您要使用其他权限重新授权已打开的会话,则可以使用

- (void)reauthorizeWithReadPermissions:(NSArray*)readPermissions
                 completionHandler:(FBSessionReauthorizeResultHandler)handler;

要么

- (void)reauthorizeWithPublishPermissions:(NSArray*)writePermissions
                    defaultAudience:(FBSessionDefaultAudience)defaultAudience
                  completionHandler:(FBSessionReauthorizeResultHandler)handler;

方法.尝试通过FBSession.h类.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...