我需要发布 uiimage(从应用程序截取的屏幕截图)而不是 url 以从 facebook 对话框发布到 facebook 以及用户选项以输入文本。如何实现。一些帮助表示赞赏。
问问题
245 次
2 回答
0
要通过 fbconnect 在 facebook 中发布图像,需要遵循 fbconnect api 几个步骤。
需要登录 facebook 然后检查访问密钥和到期日期。
如果那些不是零,它会发布图像,即
NSData *imageData = UIImagePNGRepresentation(cellImageView.image); NSMutableDictionary *params = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"app name",@"message",imageData,@"source", nil]; [facebook requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self];
如果不是,则使用访问密钥和到期密钥,然后使用上面编写的图像邮政编码。
有关更多信息,请下载 fbconnect api 并查看登录信息并查看带有刹车点的代码。
此用户需要登录委托和 fb 请求委托。
也不要忘记使用 app id 初始化 facebook obj 并设置其委托 self。
于 2012-12-11T05:35:01.500 回答
0
你可以尝试这样的事情来发布照片部分。我确定文本只是另一个字段。
@try {
// make sure your permissions are set
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"publish_stream",
nil];
[FBSession openActiveSessionWithPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceOnlyMe
allowLoginUI:NO
completionHandler:^(FBSession *session, FBSessionState state, NSError *error){
NSLog(@"completion handler.");
}];
[FBRequestConnection startForUploadPhoto:imageToUpload
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
UIAlertView *tmp = [[UIAlertView alloc]
initWithTitle:@"Success"
message:@"Photo Uploaded!"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Ok", nil];
[tmp show];
} else {
UIAlertView *tmp = [[UIAlertView alloc]
initWithTitle:@"Error"
message:@"Error uploading image to Facebook."
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Ok", nil];
[tmp show];
}
}];
}
@catch (NSException *exception) {
NSLog(@"-----> !! ERROR UPLOADING IMAGE TO FACEBOOK !!");
}
于 2012-12-11T05:40:33.217 回答