我正在开发一个在Facebook上发布状态但我收到此错误的应用: 操作无法完成(com.facebook.sdk错误2) 当被问到是否可以在Facebook上发布帖子时,我已经按下OK了。 在iPhone设置上我已经重置了隐私和位置,虽然我允许发布但我找不到我的应用程序列在" privacy" - > " Facebook和#34;
这是获取权限的代码:
-(void)postOnFacebook
{
if (FBSession.activeSession.isOpen)
[self postOnWall];
else
{
[FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObjects:@"publish_actions", nil]
defaultAudience:FBSessionDefaultAudienceEveryone
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
{
if (error)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
else if (FB_ISSESSIONOPENWITHSTATE(status))
{
NSLog(@"Sending post on wall request...");
[self postOnWall];
}
}];
};
}
答案 0 :(得分:0)
试试这个:
是的,看到此错误后,如果您转到“设置”,您会看到此应用的设置已启用"关闭"。但是在这种情况下的问题是从未提示用户允许访问 - 即在第一次访问时自动将设置变为OFF。如果用户被问到,那当然是可以理解的,但事实并非如此(就好像SDK默默地自动按下Don不允许用户)。这就是为什么这是一个问题。
在您进一步阅读之前,我想要注意的是,一旦设置了设置,您就不能简单地重复该过程来测试它,因为一旦设置了设置,它就永远不会询问用户(甚至删除并重新安装应用程序没有帮助)。要测试此问题,您需要转到设置 - >重置权限。一般 - >重置 - >重置位置&隐私,在您再次尝试复制之前。
通过测试,我发现如果您在首次请求的权限中有offline_access,则会出现此登录错误(并且不会提示用户并将权限设置为OFF)。 SDK不会检查并告诉您不允许此权限;它只是无法登录。