- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 iOS 上的 Facebook SDK 从用户那里获得发帖权限。
我在一个方法中调用下面的代码,如果应用程序没有发布到用户 facebook 墙上所需的发布权限,则会调用该方法。
// No permissions found in session, ask for it
[FBSession.activeSession requestNewPublishPermissions: [NSArray arrayWithObject:@"publish_actions"]
defaultAudience: FBSessionDefaultAudienceEveryone
completionHandler: ^(FBSession *session, NSError *error)
{
if( !error )
{
// Do something
}
}];
我第一次调用此代码时,它会将用户带到权限页面,甚至在它切换到设备上的 safari 之前,该 block 就会被调用并返回此错误消息
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0xc426410 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorReauthorizeFailedReasonUserCancelled,
然后应用程序继续在 safari 中显示权限页面,用户在其中选择确定。然后它返回到应用程序。即使向用户显示了权限页面并接受了权限,此时也未设置权限。
当尝试第二次发布时,它会将用户带到 safari 中的权限页面,并且 requestNewPublishPermissions 方法不会立即失败。用户选择确定,然后一切都按预期进行。
所以只有在第一次调用 requestNewPublishPermissions 时,它才会立即返回错误 ErrorReauthorizeFailedReasonUserCancelled。
这发生在模拟器和设备上。
知道是什么原因造成的吗?
最佳答案
我在这个问题的答案Facebook iOS 3.1 sdk login with publish permission callbacks上找到了这个问题的解决方案
dispatch_async(dispatch_get_current_queue(), ^{
[self openSessionForPublishPermissions];
});
其中 opensessionforpublishpermissions 是包含 requestNewPublishPermissions 方法的方法。
“原因是调用 reauthorize.. 需要在调用 openActiveSession.. 的事件循环之后。”
我认为这是 Facebook SDK 中的一个错误,将其视为正常行为是没有意义的,而且我还没有看到任何 Facebook 文档评论这是预期的行为。
关于ios - FBSession requestNewPublishPermissions 在响应之前失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16959938/
我正在为 ios 使用 facebook sdk 3.0.8。当我尝试使用 Facebook 登录时,它工作正常,但有时当我在注销后尝试登录时,应用程序崩溃了。 这里是异常消息 *** Asserti
我正在尝试按照使用 Facebook 登录的 Parse 教程进行操作。但是,示例代码与指南不符,所以那里的代码没有用。我完全按照指南操作,但在我登录后,它会将我定向到 Facebook 应用程序,我
我第一次尝试打开 facebook session 时遇到问题 - 我收到 facebook 错误 5(未授权)。事实上,我没有得到要求用户权限的弹出窗口。但是,如果我停止应用程序并再次运行它,一切正
在我的 swift 项目中,我正在使用桥接文件集成 facebook SDK。 if FBSession.activeSession().state == FBSessionState.Created
我通过 facebook 的 SDK 使用了 facebook 身份验证。如果 fbaccount 可用,则它工作正常,但在没有 fbaccount 的情况下,它会因以下错误而崩溃: FBSessio
我正经历着最艰难的时期来完成这项工作。我有一个 IOS 应用程序,我正在尝试集成到 Facebook SDK 3.1。用户可以选择登录 Facebook,如果他们这样做的话,我正在缓存 token 。
H,在我的应用程序中,用户可以使用 facebook 登录应用程序。我可以使用 fbsession 成功登录,但我无法从 fbsession 注销。一旦用户登录到应用程序,我就会手动注销fb sess
我有一个应用程序,用户可以在其中选择登录 FB。我的代码主要基于 FB 上的教程,在大多数情况下,应用程序和 FB 集成按预期工作。我遇到的问题是应用程序从启动到启动都不记得用户已选择将应用程序连接到
我正在尝试使用 iOS 上的 Facebook SDK 从用户那里获得发帖权限。 我在一个方法中调用下面的代码,如果应用程序没有发布到用户 facebook 墙上所需的发布权限,则会调用该方法。
我正在观察以下...... 我通过以下方式对用户进行身份验证(请注意,在完成 block 中我正在记录权限) NSArray *permissions = [[NSArray alloc] init
我正在使用 Facebook SDK 来获取应用程序中的用户组但我得到一个空访问 token 。我在viewDidLoad中的代码如下。 - (void)viewDidLoad { [supe
我最初使用 FBLoginView 在最新的 Facebook SDK (3.5) 中启动登录过程。但是,由于某种循环,这会使应用程序崩溃。然后我读到我应该尝试使用下面的代码登录作为测试: [FBSe
我正在使用 facebook sdk 3.5 开发一个用于在 ios 中发布 FB 墙的应用程序。我正在使用两个 View 。第一个是启动画面,第二个是 facebook 登录 View 。当我激活这
我正在更新一个应用程序以使用最新的 Facebook SDK,以便获得对 iOS6 原生 Facebook 支持的访问权。它目前使用相当旧的 Facebook SDK 版本。 该应用程序需要 Face
我正在使用 Facebook SDK 实现 OAuth 登录,但是 FBSession.openActiveSessionWithReadPermissions:allowLoginUI:comple
我发现了一个有趣的问题。 当我请求新的发布权限时,fb sdk 会显示带有“跳过”按钮的对话框。我是这样处理的 [[[appDelegate facebook] session] re
我刚刚使用适用于 iOS 的新 Facebook 3.0 SDK 更新了我的应用程序。在此之前,我使用的是利用 FBSessionDelegate 和 FBRequestDelegate 的 SDK。
我一直在尝试使用 Facebook 开发 iOS 应用程序,但我是新手。所以我一直在努力让 使用 Facebook 登录,遵循 Facebook 上的教程并尝试实现它。 但是我遇到过,找不到[FBSe
我正在尝试在我的 Swift 项目中使用 FBSession。但我不知道如何导入它。 我已将这些导入到我的桥接 header 中 #import #import 有什么想法吗? 我正在尝试将下面的
尝试在 Swift 中实现这个 Objective C 代码: // Whenever a person opens the app, check for a cached session
我是一名优秀的程序员,十分优秀!