一些Facebook用户的Facebook个人资料链接被拒绝使用iOS应用程序中的FBSDKLoginManager进行



我正在使用FBSDKLoginKit登录Facebook。我正在尝试获取电子邮件姓名公开个人资料和用户个人资料链接。根据获取个人资料链接的最新政策,开发者需要在登录时征得许可,并应向 Facebook 提供如何使用这些信息以供审核。我做了所有这些过程。

当使用FBSDKLoginManager登录我的开发人员Facebook帐户时,我能够获得所有这些必需的参数。但是当我尝试使用另一个用户帐户登录时,个人资料链接被拒绝作为响应。链接为空。

我创建了一个方法,如下所示来登录并获取这些参数。

- (void)loginFaceBook
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
login.loginBehavior = FBSDKLoginBehaviorSystemAccount;
// need permission
[login logInWithReadPermissions:@[@"public_profile", @"email", @"user_link"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error)
{
NSLog(@"Process error"); 
}
else if (result.isCancelled)
{
NSLog(@"Cancelled");
}
else
{
NSLog(@"Logged in");
if ([result.grantedPermissions containsObject:@"email"])
{
NSDictionary *params = @{@"fields" : @"id,name,link,email"};
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:params]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id responseData, NSError *error)
{
NSLog(@"%@",responseData);
if (!error)
{
NSString *fbEmail = [AQCommon validateTextBeforePack:[responseData objectForKey:kEmail]];
NSString *fblink = [AQCommon validateTextBeforePack:[responseData objectForKey:@"link"]];
NSString *fbname = [AQCommon validateTextBeforePack:[responseData objectForKey:@"name"]];

}
else
{
NSLog(@"Facebook login failed. Please try later.");                  }
}
}];
}
else
{
NSLog(@"Facebook login failed. Please try later.");                  }
}
}];
}

我使用我的 Facebook 开发者帐户(我创建应用程序的地方(登录了所有必需的参数,但其他一些帐户user_link被拒绝可能是什么问题?它与Facebook隐私政策有关吗?或者,用户需要更改其配置文件中的某些设置?

除了上述问题之外,我从除某些帐户以外的任何Facebook帐户打开的开发人员帐户的个人资料链接。该错误指出链接已过期或未授予权限。这个问题非常特定于Facebook用户帐户。原因和解决方案是什么?

Facebook提供了可用于测试目的的沙盒测试用户。

在这里,您可以查看有关Facebook测试用户的所有信息。

https://developers.facebook.com/docs/apps/test-users

似乎Facebook只有在用户是朋友或朋友的朋友时才允许查看个人资料。

相关内容

  • 没有找到相关文章

最新更新