- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要知道用户在 openActiveSessionWithReadPermissions 执行期间何时未授予 Facebook 访问我的应用程序的权限。 (未授予意味着在“设置”->“Facebook”->“我的应用”下将开关设置为“关闭”。)
这是未授权时的错误:
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x1fd46780 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason}
为了比较,这里是没有网络的错误:
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x1edf2eb0 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=0x1ed47a20 {NSErrorFailingURLKey=https://api.facebook.com/method/auth.iosauthorizeapp, NSErrorFailingURLStringKey=https://api.facebook.com/method/auth.iosauthorizeapp, NSLocalizedDescription=The Internet connection appears to be offline.}}
是否有一种万无一失的方法来检测用户何时未被授予权限?我是否只在 UserInfo 字典中查找错误代码 2 和一对键/值?
我希望 Facebook 给我们一个 BOOL granted
就像在 ACAccountStoreRequestAccessCompletionHandler
中一样。
最佳答案
@peter-warbo:我没有找到好的解决方案。我正在使用这个:
[FBSession openActiveSessionWithReadPermissions:FACEBOOK_READ allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
// find error for not granted
if(error && error.code == 2) {
NSDictionary *userInfo = error.userInfo;
if(userInfo && userInfo.count == 1) {
[self fallbackLogin];
return;
}
}
[self sessionStateChanged:session state:state error:error];
}];
- (void)fallbackLogin {
// use deprecated
[FBSession openActiveSessionWithPermissions:FACEBOOK_READ allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
}
关于iOS Facebook SDK 3.1 openActiveSessionWithReadPermissions : Detect when user is not granting access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13619214/
我最近开始使用 Facebook SDK 3.1,在使用 openActiveSessionWithReadPermissions 登录时遇到了一些问题。 实际上,登录工作完美,如果有可用的缓存 to
我有一个 iOS 应用程序,它已经使用 Facebook API 正常运行了大约一年。 最近我更新到最新版本的 Facebook API。 我注意到的是,当我现在调用 openActiveSessio
我正在使用 Facebook SDK 实现 OAuth 登录,但是 FBSession.openActiveSessionWithReadPermissions:allowLoginUI:comple
我们正在编写一个与 Facebook 集成的原生 iOS 应用程序。几个月前,我们通过 developers.facebook.com 设置了一个占位符 FB 应用程序,并通过它进行了所有测试。现在我
我正在尝试将适用于 iOS 的 facebook sdk 从 3.0 升级到 3.1.1。我已经添加了新的 FacebookSDK。我想我做对了,很简单...安装下载的 FacebookSDK-3.1
我之前使用的是适用于 iOS 的 Facebook SDK 3.x。我的代码在多个地方都有 FBSession openActiveSessionWithReadPermissions,现在我使用的是
背景 最近升级到 Facebook SDK 3.2 在设备和模拟器上测试(iOS 5.1 到 6.1) 错误仅在尝试对 Facebook 测试用户 进行身份验证时出现。 错误 The Facebook
我需要知道用户在 openActiveSessionWithReadPermissions 执行期间何时未授予 Facebook 访问我的应用程序的权限。 (未授予意味着在“设置”->“Faceboo
我有一个分享链接的按钮。我基本上使用两个电话:openActiveSessionWithReadPermissions 和 requestNewPublishPermissions。 所以这是按钮操作
我从 facebook 教程中得到这段代码: - (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI { NSArray *permissions
在任何事情之前,我都阅读了 this和 this在提问之前解决下面的问题。 我的问题是,当 accessToken 过期时(无论是因为过期日期,还是通过从我的 Facebook 的应用程序中心删除应用
我是一名优秀的程序员,十分优秀!