how to uload photo/image to facebook via iphone application
i am integrating facebook with my iphone application. i can share text message in facebook, but i want to share/ upload photos to facebook through my iphone application. please let me know is there soution for this. i am trying the facebook sample code but it is giving me some errors: i searched out that error but other developer also facing this type of error. please let me know if there is some one who did upload/ sh开发者_JAVA技巧are a photo on facebook in iphone application.
Thanks in advance.
you need to create an album for uploading images,after u have created an album via facebook api you have to use its id to upload photos
// for making a facebook album u have to make a multi-part form request
//to this url https://graph.facebook.com/100002232753228/albums
//where 100002232753228 is the fbid of the user and with form fields access_token,name,message, for reference go to -http://developers.facebook.com/docs/reference/api/album/
//To upload a foto to album send multi-part data to the url - https://graph.facebook.com/102657189818706/photos
//where 102657189818706 is the facebook id of the album created
Here is the code
#define kRequestBoundary @"----FOO"
NSMutableData *postBody = [[NSMutableData alloc] init];
[postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", kRequestBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; //starting the boundary of form data
[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"access_token\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; //setting field name of access_toke
[postBody appendData:[[NSString stringWithString:@"200726069952695|fd9c7d8ed4b5592b1240cdb3-100002232753228|i7ae5By6VFItLliVT1jw5jsETEY"] dataUsingEncoding:NSUTF8StringEncoding]];
//setting field value of access_token
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", kRequestBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; //closing the boundary for next field
[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"image\"; filename=\"UserImage.png\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
//setting the field name of image
[postBody appendData:[[NSString stringWithString:@"Content-Type: image/png\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; //setting the content-Type of image
UIImage *cropped=[UIImage imageNamed:@"Sample.png"];
NSData *pImageData = UIImagePNGRepresentation(cropped);
[postBody appendData:pImageData]; // adding image data to the request data
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",kRequestBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; //closing the
NSString *urlString = @"https://graph.facebook.com/102657189818706/photos";
NSMutableURLRequest *request=[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:pUrl]];
self.mURLrequest=request;
[request release];
[pUrl release];
[request setHTTPMethod:@"POST"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", kRequestBoundary];
[request setValue:contentType forHTTPHeaderField:@"Content-type"];
[mURLrequest setHTTPBody:postBody];
NSURLConnection *temp=[[NSURLConnection alloc] initWithRequest:mURLrequest delegate:self];
[temp autorelease];
精彩评论