0

在我的应用程序中。我成功地在我的 Facebook 墙上发布了一张图片(图片类型为 JPEG 类型)。它在模拟器和设备中也可以正常工作。

但问题是当我从我的 iPhone 捕获图像或从库中选择由相机捕获的图像时。它没有发布在 Facebook 墙上。

另一方面,当我从我的 iPhone 库中选择任何 jpeg 图像(通过互联网下载)时。它张贴在墙上。

我认为存在图像格式问题。请指导我

谢谢

我的代码在这里。

-(IBAction)clickButtonClicked
{
//    For link post

NSString *Message = [NSString stringWithFormat:@"Testing Iphone App : \"http://www.google.com\" "];    


DataClass *obj=[DataClass getInstance]; 

UIImage *image=[[UIImage alloc]init ];

image= obj.imgFinalImage;

NSMutableDictionary *params1 = [[NSMutableDictionary alloc]init];


[params1 setObject:image forKey:@"source"];
[params1 setObject:Message forKey:@"message"];

NSString *post=@"/me/photos";


[[appDelegate facebook] requestWithGraphPath:post andParams:params1 andHttpMethod:@"POST" andDelegate:self];

UIAlertView  *alert = [[UIAlertView alloc] initWithTitle:@"Message!" message:@"Invitation Send Sucessfully" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
[alert release];


}
4

1 回答 1

0

我的猜测是您在错误的属性中传递了图像:

NSMutableDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                    sobj.imgFinalImage, @"picture",
                    Message, @"caption",
                     nil];

[[appDelegate facebook] requestWithMethodName:@"photos.upload"
                   andParams:params
                   andHttpMethod:@"POST"
                  andDelegate:self];

然后确保您实现了 Facbook 请求的委托以检查图像是否已上传。

使用图形 API,您无法UIImage直接发送 a,您需要发送 的NSData表示形式UIImage

NSMutableDictionary *params1 = [[NSMutableDictionary alloc]init];
NSData *imageDate = UIImagePNGRepresentation(obj.imgFinalImage);

[params1 imageDate forKey:@"source"];
[params1 setObject:Message forKey:@"message"];

NSString *post=@"/me/photos";


[[appDelegate facebook] requestWithGraphPath:post andParams:params1 andHttpMethod:@"POST" andDelegate:self];
于 2012-08-03T14:14:25.710 回答