使用 SDK 3.22.0。
if (FBSession.activeSession.isOpen) {
[FBSession.activeSession
requestNewPublishPermissions:@[@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
NSLog(@"error = %@", error);
NSLog(@"session open = %d", session.isOpen);
NSLog(@"session.permissions = %@", session.permissions);
NSLog(@"session.accessTokenData.declinedPermissions = %@", session.accessTokenData.declinedPermissions);
}];
}
else {
[FBSession
openActiveSessionWithPublishPermissions:@[@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
NSLog(@"error = %@", error);
NSLog(@"session open = %d", session.isOpen);
NSLog(@"status = %lu", status);
NSLog(@"session.permissions = %@", session.permissions);
NSLog(@"session.accessTokenData.declinedPermissions = %@", session.accessTokenData.declinedPermissions);
}];
}
我正在使用尚未发布权限且从未拒绝过的用户进行测试。在此帐户的 FB 应用程序设置中,应用程序可见性设置为“朋友”,并且发布权限甚至不在设置列表中,因为它们是针对其他用户/应用程序的。
在这两种代码情况下,FB 应用程序都会立即打开并返回到我的应用程序,而无需询问权限。的响应declinedPermissions
是一个数组publish_actions
。
我的期望是 FB 应用程序会要求用户批准发布。
我收到了来自多个遇到相同问题的用户的报告 - 无法添加发布权限,但有些用户能够获得权限。
要添加的一件事是,在将应用程序提交给测试组以外的用户进行 FB 批准之前,我遇到了同样的问题,但是当应用程序获得批准时,它开始为这些用户工作。现在,即使应用程序获得批准,问题似乎仍然存在,只是针对随机用户。
我请求权限的方式有什么问题吗?