gpt4 book ai didi

facebook-ios-sdk - iOS Facebook SDK 4.x 读取和发布权限冗余登录

转载 作者:行者123 更新时间:2023-12-02 04:40:22 29 4
gpt4 key购买 nike

我正在将 Facebook SDK 从 3.x 升级到 4.x,并且 Facebook 文档清楚地表明需要单独请求读取权限和发布权限。当应用程序请求读取权限时,用户登录并授予权限,但是当应用程序请求发布权限时,即使用户已经拥有访问 token ,它也会让用户再次登录?有没有办法只请求权限而不必强制用户重新登录?

Facebook android sdk 允许无需登录两次但 iOS 似乎完全阻止了这种行为,这看起来很疯狂。如果应用实现需要读取和发布权限才能使集成正常工作,那么强制用户登录两次只是不必要的摩擦和糟糕的用户体验。

最佳答案

我已经完成了名为 FBSDKInternalUtility.h 的 SDK 类, 我们在其中获得了一个方法

+ (BOOL)areAllPermissionsReadPermissions:(NSSet *)permissions
{
for (NSString *permission in permissions) {
if ([[self class] isPublishPermission:permission]) {
return NO;
}
}
return YES;
}

+ (BOOL)isPublishPermission:(NSString *)permission
{
return [permission hasPrefix:@"publish"] ||
[permission hasPrefix:@"manage"] ||
[permission isEqualToString:@"ads_management"] ||
[permission isEqualToString:@"create_event"] ||
[permission isEqualToString:@"rsvp_event"];
}

在这两种情况下,他们都检查下面的权限,而在传递权限时 NSSet 顺序变得不同,所以下面检查第一个字符串并返回 NO。所以我所做的是注释掉下面提到的几行。

+ (BOOL)areAllPermissionsReadPermissions:(NSSet *)permissions
{
//for (NSString *permission in permissions) {
// if ([[self class] isPublishPermission:permission]) {
// return NO;
// }
//}
return YES;
}

我不确定我所做的更改是否有效,但我可以实现我想要的。很高兴。如果您有任何更改建议,请告诉我。

关于facebook-ios-sdk - iOS Facebook SDK 4.x 读取和发布权限冗余登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064901/

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