1

Facebook SDK を使用して友人の壁に投稿しています。投稿することはできますが、FBWebDialog で複数の友達を選択すると、友達ごとに 2 人の友達を同時に投稿するのではなく、別のダイアログ ボックスが表示されます。複数の友達のウォールに投稿する方法 .

-(void)showFriendsList
{
    friendPickerController = [[FBFriendPickerViewController alloc] init];
    friendPickerController.title = @"Pick Friends";
    friendPickerController.delegate = self;
    [friendPickerController loadData];
}

-(IBAction)facebookShare:(UIButton *)sender
{
    [friendPickerController presentModallyFromViewController:self animated:YES handler:
     ^(FBViewController *sender, BOOL donePressed) {

         if (!donePressed)
         {
             return;
         }

         NSString* fid;
         NSString* fbUserName;

         for (id<FBGraphUser> user in friendPickerController.selection)
         {
             NSLog(@"\nuser=%@\n", user);
             fid = user.id;

             fbUserName = user.name;

             NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:remedyLabel, @"caption", appIcon, @"picture",symptomName, @"name",remedyDescription,@"description",fid,@"tags",fid,@"to",@"106377336067638",@"place", nil];

             NSLog(@"\nparams=%@\n", params);

             [FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"%@/feed",fid] parameters:params               HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection,id result,NSError *error)
              {
                  [FBWebDialogs presentFeedDialogModallyWithSession:nil                                                     parameters:params  handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)

                   {
                       if (error)
                       {

                           NSLog(@"Error publishing story.");
                       }
                       else
                       {
                           if (result == FBWebDialogResultDialogNotCompleted) {
                               // User clicked the "x" icon
                               NSLog(@"User canceled story publishing.");
                           }
                           else
                           {

                               // Handle the publish feed callback

                               //Tell the user that it worked.
                               NSLog(@"Request Sent");
                           }

                       }
                   }];
              }];

         }

     }];
}
4

1 に答える 1