我总是得到“(#324)需要上传文件”当我将图片发布到facebook时,有很多人问同样的错误,大部分是使用php sdk,似乎他们通过设置解决了问题fileUpload为true($ facebook-> setFileUploadSupport(true);),例如:http://endorkins.com/2010/12/28/facebook-graph-api-upload-photos-requires-upload-file/,Exception when uploading photo with Facebook Graph API
但是我在iOS中直接使用graph api,我找不到设置这个标志的位置,我试图在创建相册时设置它并上传图像,但是它没有用。
Facebook图形API参考(http://developers.facebook.com/docs/reference/api/album/)表示can_upload必须为专辑才能将照片上传到相册,我检查了我试图上传图片的相册,这是真的。
我也有user_photos,friends_photos,publish_stream,publish_actions。
的许可下面是我发布图片的代码,我花了很多时间在这上面却无法修复它,请帮助我!任何帮助表示赞赏。
NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/"];
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:url];
NSMutableDictionary *params = [NSMutableDictionary dictionary];
[params setObject:token forKey:@"access_token"];
[params setObject:@"the message" forKey:@"message"];
NSData *imgData = UIImageJPEGRepresentation(self.img, 1.0);
[params setObject:imgData forKey:@"source"];
NSMutableURLRequest *request = [client requestWithMethod:@"POST" path:[NSString stringWithFormat:@"%@/photos", albumId] parameters:params];
[request setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
// [request setValue:[NSString stringWithFormat:@"%d", imgData.length] forHTTPHeaderField:@"Content-Length"];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
NSLog(@"%@", operation.responseString);
}];
[operation start];
答案 0 :(得分:1)
好的,最后我通过使用facebook SDK发布图片来解决这个问题。