我看到有几篇关于这个问题的帖子,但是迄今为止没有什么能够帮助我。基本上,我正在编写一个iOS应用程序,并尝试使用Graph API将照片发布到Facebook相册中。图像数据首先从服务器下载,然后POST到Facebook。我正在使用ASIFormDataRequest类和网址https://graph.facebook.com/MY_ALBUM_ID/photos,但是我始终会收到以下错误:
奇怪的是,我正在使用完全相同的方法将照片上传到应用程序的另一个部分,一切正常。我甚至已经将我尝试发送到Facebook的照片上传到我的服务器上,以查看数据是否正确地POST。一切都很好。
我读过,如果Facebook对图像格式有问题,它有时会反弹回我所看到的错误,但错误本身相当模糊。我知道我的access_token是有效的。我向Facebook发出的所有其他请求都正常工作。
你有什么想法吗?
error = {
message = "(#1) An unknown error occurred";
type = OAuthException;
};
我的请求如下:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
self.photoRequest = request;
[request setDelegate:self];
[request setPostValue:token forKey:@"access_token"];
[request setPostValue:message forKey:@"message"];
[request setTimeOutSeconds:240];
[request setRequestMethod:@"POST"];
UIImage *image = [UIImage imageWithData:data];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
[request setData:imageData forKey:@"source"];
dispatch_async(dispatch_get_main_queue(), ^{
[request startAsynchronous];
});
});
奇怪的是,我正在使用完全相同的方法将照片上传到应用程序的另一个部分,一切正常。我甚至已经将我尝试发送到Facebook的照片上传到我的服务器上,以查看数据是否正确地POST。一切都很好。
我读过,如果Facebook对图像格式有问题,它有时会反弹回我所看到的错误,但错误本身相当模糊。我知道我的access_token是有效的。我向Facebook发出的所有其他请求都正常工作。
你有什么想法吗?
[UIImage imageNamed:@“imageName”];
上传了我的项目中的一张随机图片,而不是UIImage *image = [UIImage imageWithData:data];
,它成功地发布了。我们在服务器上使用ImageMagick来生成我要发送的图像。问题似乎出在ImageMagick生成的图像数据上。 - harrisonlee