尝试使用不同的发布权限重新授权时,com.facebook.sdk错误2

时间:2013-06-12 16:01:02

标签: ios facebook

当我的应用尝试邀请用户的好友列表中的人时,它会检查活动会话的权限。如果找不到这些权限,则会调用reauthorizeWithPublishPermissions。

有问题的代码如下:

if ([FBSession.activeSession.permissions indexOfObject:@"publish_stream"] == NSNotFound || [FBSession.activeSession.permissions indexOfObject:@"user_photos"] == NSNotFound ) {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setBool:YES forKey:@"FacebookLogin"];
    [FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObjects:@"publish_stream",@"user_photos", nil]
           defaultAudience:FBSessionDefaultAudienceFriends
         completionHandler:^(FBSession *session, NSError *error)
                            {
                                if (error)
                                {
                                    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Can not get permission"
                                                                                    message:error.localizedFailureReason
                                                                                   delegate:self
                                                                          cancelButtonTitle:@"Ok"
                                                                          otherButtonTitles:nil];
                                    [alert show];
                                    [alert release];
                                    [defaults setBool:YES forKey:@"FacebookLogin"];
                                }
                                else {
                                    if([[SocialNetworkingData getInstance] getFBDisplayType] == 0)
                                    {
                                        [self postFeedWithPermission:friendList];
                                    }
                                    else if ([[SocialNetworkingData getInstance] getFBDisplayType] == 1)
                                    {
                                        [self postPhotoWithPermission:friendList];
                                    }
                                    else if([[SocialNetworkingData getInstance] getFBDisplayType] == 2){
                                        [self postFeedDialog:friendList];
                                    }

                                }
                            }];
}

else
{
    if([[SocialNetworkingData getInstance] getFBDisplayType] == 0) {
        [self postFeedWithPermission:friendList];
    }
    else if ([[SocialNetworkingData getInstance] getFBDisplayType] == 1) {
        [self postPhotoWithPermission:friendList];
    }
    else if([[SocialNetworkingData getInstance] getFBDisplayType] == 2){
        [self postFeedDialog:friendList];
    }
}

无论如何,完成处理程序都会收到错误2.

1 个答案:

答案 0 :(得分:0)

在设置> Facebook ^ _ ^

中检查您的应用是否已获得授权