发布Feed - Facebook SDK 4.0

时间:2016-01-03 14:14:42

标签: ios facebook

我已经通过iOS APP FBSDK 4.0集成。我用过

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

    [login logInWithReadPermissions:@[@"public_profile",@"email",@"basic_info"] fromViewController:nil handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {

        if (error)
        {
            [[AlertView sharedAlert] showAlertWithTitle:kAlertError Message:@"Login Error.Try after sometme" CancelButton:kAlertOKButtonTitle OtherButtons:nil];
        }
        else if (result.isCancelled)
        {
            NSLog(@"Login Cancelled");
        }
        else
        {
            NSLog(@"%@",result.grantedPermissions);
            [self handleFBLoginResult];
        }
    }];

使用FB登录,此步骤会生成一个没有发布权限的访问令牌。

然后在应用程序的其他部分,当用户点击发布到FB操作时,我在下面调用方法

FBSDKLoginManager *login = [[FBSDKLoginManager alloc]init];
[login logInWithPublishPermissions:@[@"publish_actions"] fromViewController:topController handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {

    if ([[result declinedPermissions] containsObject:@"publish_actions"])
    {
        [[AlertView sharedAlert] showAlertWithTitle:kAlertWarning Message:@"Publish Permission Denied.Please check your FB profile settings" CancelButton:kAlertOKButtonTitle OtherButtons:nil];
    }

请参阅随附的屏幕截图。

enter image description here

拒绝权限设置为nil 授予的权限设置为nil 用户取消操作设置为YES,而我没有取消任何内容

看起来我的权限未设置,我无法发布任何Feed

[[[FBSDKGraphRequest alloc]initWithGraphPath:@"/me/feed" parameters:postDict HTTPMethod:@"POST"] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {

                         NSLog(@"%@",[[FBSDKAccessToken currentAccessToken] tokenString]);

                        if(error == nil)
                        {
                            NSLog(@"Checkin Posted");
                        }
                        else
                        {
                            //NSString *errMessage = [[[[[error userInfo] objectForKey:@"com.facebook.sdk:ParsedJSONResponseKey"] objectForKey:@"body"] objectForKey:@"error"] objectForKey:@"message"];
                            NSString *errMessage = [error localizedDescription];
                            [[AlertView sharedAlert] showAlertWithTitle:kAlertError Message:errMessage CancelButton:kAlertOKButtonTitle OtherButtons:nil];

                        }
                }];

上面的代码无法在FB中发布Feed并抛出错误消息

Facebook错误:(#200)用户未授权该应用程序执行此操作。

我经历了一些提到的解决方案,但它并没有帮助我。

任何建议都会有所帮助。

0 个答案:

没有答案