1

我需要发布 uiimage(从应用程序截取的屏幕截图)而不是 url 以从 facebook 对话框发布到 facebook 以及用户选项以输入文本。如何实现。一些帮助表示赞赏。

4

2 回答 2

0

要通过 fbconnect 在 facebook 中发布图像,需要遵循 fbconnect api 几个步骤。

  1. 需要登录 facebook 然后检查访问密钥和到期日期。

  2. 如果那些不是零,它会发布图像,即

    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 回答