发布或管理权限不允许请求有读取权限 FACEBOOK SDK

Posted

技术标签:

【中文标题】发布或管理权限不允许请求有读取权限 FACEBOOK SDK【英文标题】:Publish or manage permissions are not permited to to be requested with read permissions FACEBOOK SDK 【发布时间】:2012-12-18 13:21:42 【问题描述】:

我目前正在尝试在我们的应用程序中实现 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,我应该怎么做?

【问题讨论】:

【参考方案1】:

如果你想用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 类。

【讨论】:

因此,如果我想打开具有读取和发布权限的活动会话,我必须调用其中一种 openActiveSession 方法,然后重新授权? 如果您有一个活动会话,您可以使用readpublish_action 权限重新授权它。如果您正在打开一个活动会话,建议以读取权限打开它。此后,您可以使用其他权限对其重新授权。 参考此链接从 3.1 升级到 3.2 developers.facebook.com/docs/tutorial/iossdk/… 现在不推荐使用这些方法。你有其他的来代替它们吗 对不起,自从这个答案以来,我还没有研究过 Facebook SDK。您必须查看他们的 SDK 文档,他们必须已向建议的方法发出信号,而不是已弃用的方法。

以上是关于发布或管理权限不允许请求有读取权限 FACEBOOK SDK的主要内容,如果未能解决你的问题,请参考以下文章

管理员不允许更改时的Android RequestPermission

Activity 在调用运行时权限时变黑

Linux基础知识--文件目录权限和归属管理

OPPO怎么禁止应用允许读取设备信息?

Linux文件/目录的权限及归属管理精讲

红帽认证RedHat-RHCSA 权限管理特殊权限网络配置磁盘管理逻辑卷管理软件管理笔记汇总