如何通过iphone应用程序将照片/图像上传至facebook

如何通过iphone应用程序将照片/图像上传至facebook,iphone,objective-c,facebook,Iphone,Objective C,Facebook,我正在将facebook与我的iphone应用程序集成。我可以分享 facebook上的短信,但我想分享/上传 通过我的iphone应用程序将照片发送到facebook。 请让我知道这有什么办法。 我正在尝试facebook的示例代码,但它给了我一些帮助 错误:我找到了那个错误,但其他开发人员也发现了 面对这种错误。如果有,请告诉我 有人在iphone的facebook上上传/分享了一张照片 应用程序 提前感谢。您需要创建一个相册以上载图像,在您通过facebook api创建相册后,您必须使用

我正在将facebook与我的iphone应用程序集成。我可以分享 facebook上的短信,但我想分享/上传 通过我的iphone应用程序将照片发送到facebook。 请让我知道这有什么办法。 我正在尝试facebook的示例代码,但它给了我一些帮助 错误:我找到了那个错误,但其他开发人员也发现了 面对这种错误。如果有,请告诉我 有人在iphone的facebook上上传/分享了一张照片 应用程序


提前感谢。

您需要创建一个相册以上载图像,在您通过facebook api创建相册后,您必须使用其id上载照片

// 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
这是密码

#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];

你需要创建一个相册来上传图片,在你通过facebook api创建了一个相册之后,你必须使用它的id来上传图片

// 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
这是密码

#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];
可能的重复可能的重复