简体   繁体   English

ios Facebook登录名,显示“无效范围:basic_info”。 使用public_profile,user_friends代替

[英]ios Facebook Login showing “Invalid Scope: basic_info”. use public_profile, user_friends instead

I want app should works in all three condition. 我希望应用程序在所有三种情况下均能正常工作。
I'm using following code in my viewdidload method and implemented delegate method. 我在我的viewdidload方法和已实现的委托方法中使用以下代码。

FBLoginView *fb_loginView = [[FBLoginView alloc] init];
fb_loginView.readPermissions = @[@"basic_info", @"email", @"user_friends"];
fb_loginView.delegate = self;
fb_loginView.frame = CGRectMake(10, 250, 300, 100);
[self.view addSubview:fb_loginView];

Case-I working fine But Case-II & Case-III not working 情况一工作正常,但情况二和情况三无效

Case-I : (FB app is not installed on device & only FB credentials is stored in settings) In this case when I pressed on login button its ask me permissions and I can fetched users basic info. 情况一:(未在设备上安装FB应用,并且仅FB凭据存储在设置中)在这种情况下,当我按下登录按钮时,它会询问我权限,并且可以获取用户的基本信息。

Case-II : (FB app is installed But FB credentials is not stored in settings) In this case when I pressed on login button its takes me to FB installed for login. 案例II :(已安装FB应用程序,但FB凭据未存储在设置中)在这种情况下,当我按下登录按钮时,它将带我进入已安装的FB进行登录。 I logged in, but showing error "Invalid Scope: basic_info". 我登录,但显示错误“无效范围:basic_info”。 use public_profile, user_friends instead. 使用public_profile,user_friends代替。

Case-III : (FB app is not installed and FB credentials is not stored in settings) In this case when I pressed on login button its takes me to ios safari browser for fb login. 情况三:(未安装FB应用程序且FB凭据未存储在设置中)在这种情况下,当我按登录按钮时,它将带我到ios野生动物园浏览器进行fb登录。 I logged in, but showing same error "Invalid Scope: basic_info". 我登录,但显示相同的错误“无效范围:basic_info”。 use public_profile, user_friends instead. 使用public_profile,user_friends代替。

When I used 当我用

fb_loginView.readPermissions = @[@"public_profile", @"email", @"user_friends"]; 

Then Case-I & Case-II works fine but Case-III showing following error. 然后 Case-I和Case-II可以正常工作,但是Case-III显示以下错误。

Error = Error Domain=com.facebook.sdk Code=2 "The operation couldn't be completed. (com.facebook.sdk error 2.)" UserInfo=0x1cd61ba0 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginCancelled, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The proxied app cannot request publish permissions without having being installed previously." 错误=错误域= com.facebook.sdk代码= 2“操作无法完成。(com.facebook.sdk错误2。)” UserInfo = 0x1cd61ba0 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk “:SystemLoginCancelled,com.facebook.sdk:ErrorInnerErrorKey =错误域= com.apple.accounts代码= 7” Facebook服务器无法满足此访问请求:代理的应用程序无法在未事先安装的情况下请求发布权限。 UserInfo=0x1cd622e0 {NSLocalizedDescription=The Facebook server could not fulfill this access request: The proxied app cannot request publish permissions without having being installed previously.}, com.facebook.sdk:ErrorSessionKey=, expirationDate: (null), refreshDate: (null), attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(null)>} UserInfo = 0x1cd622e0 {NSLocalizedDescription = Facebook服务器无法满足此访问请求:在未事先安装的情况下,代理的应用程序无法请求发布权限。},com.facebook.sdk:ErrorSessionKey =,expirationDate :(空),refreshDate :(空),trypedRefreshDate:0001-12-30 00:00:00 +0000,权限:(null)>}

The error tells you how to fix it. 该错误告诉您如何解决。

@"basic_info" is no longer accepted by the Facebook API. Facebook API不再接受@"basic_info" You should be using @"public_profile" or @"user_friends" , or @[@"public_profile", @"user_friends"] instead (depending on your use case). 您应该使用@"public_profile"@"user_friends"@[@"public_profile", @"user_friends"] (取决于您的用例)。

The error that you are seeing when you have used @"public_profile" is not related to this Facebook request. 使用@"public_profile"时看到的错误与此Facebook请求无关。 It is related to a request where you have requested @"publish_actions" , hence the message "The proxied app cannot request publish permissions without having being installed previously." 它与您请求@"publish_actions"的请求有关,因此消息“代理的应用程序无法在未事先安装的情况下请求发布权限”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM