2011-03-02 118 views
2

我是iphone应用程序开发新手,我试图通过我们的iphone应用程序上传Facebook上的图片。我已经尝试了使用fbconnect的下面的代码,但它不起作用。图片上传在facebook上连接iphone

NSMutableDictionary *args = [[[NSMutableDictionary alloc] init] autorelease]; 
[args setObject:fbimages forKey:@"image"]; // 'fbimages'(it is having 2 images) is an array of 'UIImage' objects.. 
FBRequest *uploadPhotoRequest = [[[FBRequest alloc] init] autorelease]; 
uploadPhotoRequest = [FBRequest requestWithDelegate:self]; 
[uploadPhotoRequest call:@"facebook.photos.upload" params:args]; 
//[[FBRequest requestWithDelegate:self] call:@"facebook.photos.upload" params:args]; 
NSLog(@"uploading image is successful"); 

回答

4

最后,我发现iPhone上的facebook上的图像的解决方案。使用下面的代码。它会工作确定。

- (void)uploadPhoto{ 
    NSMutableDictionary *args = [[NSMutableDictionary alloc] init]; 
    UIImage *img = [UIImage imageNamed:@"picture1.jpg"]; 
    NSData *data = UIImageJPEGRepresentation(img, 10); 
    //NSData *data = UIImagePNGRepresentation(img); 
    NSString *imgstr = [data base64Encoding]; 
    //NSString *imgstr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
    //[args setObject:[UIImage imageNamed:@"antartica1.png"] forKey:@"image"]; 
    [args setObject:imgstr forKey:@"image"]; // 'images' is an array of 'UIImage' objects 
    uploadimgrequest = [FBRequest requestWithDelegate:self]; 
    [uploadimgrequest call:@"photos.upload" params:args dataParam:data]; 
    //[uploadimgrequest call:@"photos.upload" params:args]; 
} 

获得此代码!!!!

YUVARAJ.M

1

您需要使用FBSession和FBRequest代表所有代表FBConnect ... 我刚打电话从FBRequest委托uploadPhoto方法..下面是我的代码...使用此代码.. 。

- (void)request:(FBRequest*)request didLoad:(id)result { 

    if ([[request method] isEqual:@"facebook.fql.query"]) { 
     NSArray* users = result; 
     NSLog(@"users %@",users); 
     NSDictionary* user = [users objectAtIndex:0]; 
     NSLog(@"user %@",user); 
     [self uploadPhoto]; 
    } 
} 
1

在这里,我回答了我的问题,这是使用FBConnect的Facebook图片上传。这是我自己的问题的正确答案。但是,现在我听说FBConnect可能无法在未来的Facebook移动应用连接中生效。所以,现在我换成了FBConnect的FBGraph API。所以,你们请忽略FBConnect并尝试使用Graph API。它比FBConnect更容易。

1
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Uploaded thru app", @"message", nil]; 
[params setObject:[UIImage imageNamed:@"image-name.png"] forKey:@"source"]; 
[facebook requestWithGraphPath:@"me/photos" 
        andParams: params 
       andHttpMethod: @"POST" 
        andDelegate:self]; 
-2

只是一个快速的一面说明 - 你应该尝试ShareKit。这绝对是令人惊叹的,并且使与社交媒体网站的所有互动变得轻而易举。该库是开源的,易于扩展/可定制。

试试吧,看看你的想法:

ShareKit home site