2012-12-27 143 views
2

我是新来的Facebook SDK。 上次我使用了facebook IOS SDK 3.0并通过图形API发布图像。它正在工作,但现在不是。我升级到3.1,但仍然是,它总是返回HTTP错误200.有没有人可以帮助我?使用Facebook IOS SDK 3.1和图形API发布带有标题的图像

这是代码

- (void) facebookPostPhoto:(UIImage *)photo withMessage:(NSString *)msg withOkAction:(SEL)okAction andNGAction:(SEL)ngAction withTarget:(id)target { 
ok = okAction; 
ng = ngAction; 
curView = target; 
NSMutableDictionary *params; 
params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
      UIImageJPEGRepresentation(photo, 90), @"source", 
      msg, @"message",    
      nil]; 

if ([FBSession.activeSession.permissions indexOfObject:FacebookPermission_3] == NSNotFound) { 
    NSLog(@"permission not found"); 
    // No permissions found in session, ask for it 
    [FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObjects:FacebookPermission_1, FacebookPermission_3, nil] defaultAudience:FBSessionDefaultAudienceFriends completionHandler:^(FBSession *session, NSError *error) 
    { 
     // If permissions granted, publish the story 
     if (!error) [self initPostFacebookWithParams:params]; 
    }]; 
} else { 
    [self initPostFacebookWithParams:params]; 
} } 

- (void)initPostFacebookWithParams:(NSMutableDictionary *)params { 

[FBRequestConnection startWithGraphPath:@"me/photos" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
    NSLog(@"ERROR : %@", error.localizedDescription); 
    if (!error) { 
     NSLog(@"Facebook Post Success.."); 
     if (ok && curView) { 
      [curView performSelector:ok]; 
     } 


    } else { 
     NSLog(@"Facebook Post Failed.."); 
     if (ng && curView) { 
      [curView performSelector:ng withObject:error]; 
     } 

    } 

}]; } 

我很欣赏你的快速响应和帮助!谢谢!!

+0

是否确定您有权限发布?当调用[self initPostFacebookWithParams:params];您提到的错误代码是许可错误代码 – tiguero

+0

是的。 [FBSession.activeSession reauthorizeWithPublishPermissions:... 我之前使用过。我使用publish_actions和publish_stream – user1383655

+0

你看到你的日志NSLog(@“permission not found”);? – tiguero

回答

0

我认为这是Facebook上传的服务器关闭或有一个关于图像大小的新政策。当我将图像缩小到320x320时,它不会返回错误,有时候也会出现错误。

因此,对于看到此问题的人,请尝试将图像调整为较小的尺寸。

相关问题