如何从fbconnect feed对话框发布uiimage而不是图片网址?

时间:2012-12-10 23:09:52

标签: iphone ios facebook facebook-graph-api

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

2 个答案:

答案 0 :(得分: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];
    
  3. 如果不是,则转到访问密钥和到期密钥,然后转到上面写的图像邮政编码。

    更多下载fbconnect api并查看登录信息并查看带刹车点的代码。

    此用户需要登录委托和fb请求委托。

    也不要忘记用app id初始化facebook obj并设置其委托自我。

答案 1 :(得分: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 !!");
    }