Facebook graph api 如何发布照片。iOS Facebook SDK 3.1

Facebook graph api 如何发布照片。iOS Facebook SDK 3.1,facebook-graph-api,http-post,facebook-ios-sdk,Facebook Graph Api,Http Post,Facebook Ios Sdk,我需要在墙上发表一张照片。图片是在我的iPad应用程序中生成的。这是我发现的最简单的方法 - (void) postImageToFB:(UIImage*)image { NSData* imageData = UIImageJPEGRepresentation(image, 90); NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:

我需要在墙上发表一张照片。图片是在我的iPad应用程序中生成的。

这是我发现的最简单的方法

- (void) postImageToFB:(UIImage*)image
{
    NSData* imageData = UIImageJPEGRepresentation(image, 90);    
    NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                    @"This is my drawing!", @"message",
                                    imageData, @"source",
                                    nil];

    [FBRequestConnection startWithGraphPath:@"me/photos"
                                 parameters:params
                                 HTTPMethod:@"POST"
                          completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

                          }];
}
如果你想在朋友的墙上发帖,请将
@“我/照片”
更改为
@“[friendID]/photos”

然后,请求发布和调用该方法的权限

if ([FBSession.activeSession.permissions indexOfObject:@"publish_stream"] == NSNotFound)
{
    // No permissions found in session, ask for it
    [FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObject:@"publish_stream"]
                                               defaultAudience:FBSessionDefaultAudienceFriends
                                             completionHandler:^(FBSession *session, NSError *error)
     {
         // If permissions granted, publish the story
         if (!error) [self postImageToFB:currentDrawing];
     }];
}
// If permissions present, publish the story
else [self postImageToFB:currentDrawing];
如果不存在,“[应用程序名称]照片”相册将被创建


它确实对我有用

对于4.3版的iOS和iOS 6.0版的UI,我认为您需要这样的内容:

不需要NSData,只需将其保存为UIImage并将图像键更改为“picture”,graph API将处理其余内容:-)UIImageJPEGresentation上的压缩应在0-1.0之间。。所以你的意思不是90