gpt4 book ai didi

ios - FBSDKLoginManager logInWithReadPermissions?

转载 作者:IT王子 更新时间:2023-10-29 08:09:01 26 4
gpt4 key购买 nike

我正在使用 FBSDKLoginButton 允许用户使用 Facebook 登录并使用FBSDKLoginButton.readPermissions = @[@"public_profile",@"email",@"user_likes",@"email",@"user_birthday"];

请求权限,但我还需要一个权限,即我应该使用的 publish_actionsFBSDKLoginManager

 logInWithReadPermissions:@[@"public_profile",@"user_likes",@"user_birthday"] 
logInWithPublishPermissions:@[@"publish_actions"]

但是由于某种原因这会影响我的权限“我的一些权限缺少检查图像

代码:-

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"publish_actions"]) {
// Do work
}
}
}];

[login logInWithReadPermissions:@[@"public_profile",@"",@"user_likes",@"user_birthday"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"email"]) {
// Do work
}
}
}];

结果:-

**将用户重定向到权限 View 需要很长时间?并不是我所有的许可都出现在用户身上 **

enter image description here

注意:-我知道警告意味着我需要提交我的应用程序以供审核,但这不是我现在要问的。

更新

当我尝试“Dheeraj Singh”解决方案时,但在这种情况下,用户将第一次被重定向到 Facebook 两次以获取 publish_action,然后获取电子邮件和生日许可,这很糟糕。

最佳答案

Facebook 登录让您的应用程序可以访问某人的公开个人资料、好友列表和电子邮件地址。这三个权限不需要审核。相反,您应用的用户将选择他们是否要授予对此信息的访问权限。

为了让您的应用访问用户 Facebook 个人资料的其他元素(读取权限)或代表他们向 Facebook 发布内容(写入权限),您需要提交以供审核。

引用:https://developers.facebook.com/docs/apps/review#submitlogin

更新:

应用应将读取权限和发布权限的请求分开。

 FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];

[login logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"publish_actions"]) {
// Do work

[login logInWithReadPermissions:@[@"user_likes",@"user_birthday"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// Process error
} else if (result.isCancelled) {
// Handle cancellations
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"user_birthday"]) {
// Do work

NSLog(@"Permission 2: %@",result.grantedPermissions);
}
}
}];

}
}
}];

您不需要 public_profile 的读取权限,就像授予 publish_actions 权限一样,它也获得了 public_profile 的权限。

关于ios - FBSDKLoginManager logInWithReadPermissions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29363270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com