【问题标题】:image upload on facebook connect iphone在 facebook 上上传图片 connect iphone
【发布时间】:2011-07-07 01:54:44
【问题描述】:
我是 iphone 应用程序开发的新手,我正在尝试通过我们的 iphone 应用程序在 Facebook 上上传图片。我已经尝试了以下使用 fbconnect 的代码,但它不起作用。
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");
【问题讨论】:
标签:
iphone
image
facebook
upload
【解决方案1】:
您需要为 FBSession 使用所有代表,为 FBConnect 使用 FBRequest 代表...
我刚刚从 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];
}
}
【解决方案2】:
我在这里回答了我的问题,即使用 FBConnect 上传 Facebook 图像。这是我自己问题的正确答案。但是,现在我听说 FBConnect 可能在未来的 Facebook 移动应用程序连接中无效。所以,现在被替换为 FBConnect 的 FBGraph API。所以,你们请忽略 FBConnect 并尝试使用 Graph API。它比 FBConnect 更容易。
【解决方案3】:
只是一个简短的附注 - 您应该尝试 ShareKit。这绝对是惊人的,使与社交媒体网站的所有互动变得轻而易举。该库是开源的,易于扩展/定制。
试试看,看看你的想法:
ShareKit home site
【解决方案4】:
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];
【解决方案5】:
最后我找到了从 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