Comment postr à un mur d'amis en utilisant Facebook Graph API pour iPhone

Je veux postr quelque chose dans le mur des amis des users.

Je l'utilise pour publier dans le mur de l'user

SBJSON *jsonWriter = [[SBJSON new] autorelease]; NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys: @"Always Running",@"text",@"http://itsti.me/",@"href", nil], nil]; NSSsortingng *actionLinksStr = [jsonWriter ssortingngWithObject:actionLinks]; NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys: @"a long run", @"name", @"The Facebook Running app", @"caption", @"it is fun", @"description", @"http://itsti.me/", @"href", nil]; NSSsortingng *attachmentStr = [jsonWriter ssortingngWithObject:attachment]; NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"Share on Facebook", @"user_message_prompt", actionLinksStr, @"action_links", attachmentStr, @"attachment",nil]; [facebook dialog:@"feed" andParams:params andDelegate:self]; 

Mais j'ai besoin de postr dans le mur de mes amis. Comment puis-je faire ceci

Dans ce post, ils ont mentionné à propos de targetId je dois faire quelque chose avec ça.

Avez-vous essayé d'utiliser,

 [facebook requestWithGraphPath:@"[friend_ID]/feed" andParams:params andHttpMethod:@"POST" andDelegate:self]; 

METTRE À JOUR:

La publication sur le mur des amis ne fonctionnera plus avec l'API graphique. Au lieu de cela, vous devez utiliser FBDialog.

@Mac

Vous devez d'abord autoriser Facebook. Ensuite, vous implémentez les methods 'FBRequestDelegate' dans votre class. Ensuite, faites une request avec l'API graphique comme indiqué ci-dessous

 [facebook requestWithGraphPath:@"/me/friends" andDelegate:self]; 

Une fois votre requête réussie, api appelle la méthode déléguée 'requestDdidLoad',

 -(void)request:(FBRequest *)request didLoad:(id)result { NSLog(@"Result: %@", result); } 

Former le résultat, vous obtiendrez l'ID de page frits

 - (IBAction)InviteAction:(id)sender // Button action { if (!FBSession.activeSession.isOpen) { // if the session is closed, then we open it here, and establish a handler for state changes [FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { if (error) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Invite friends process cancelled" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } else if (session.isOpen) { [self InviteAction:sender]; } }]; return; } if (self.friendPickerController == nil) { // Create friend picker, and get data loaded into it. self.friendPickerController = [[FBFriendPickerViewController alloc] init]; self.friendPickerController.title = @"Pick Friends"; self.friendPickerController.delegate = self; } [self.friendPickerController loadData]; [self.friendPickerController clearSelection]; [self presentViewController:self.friendPickerController animated:YES completion:nil]; } - (void) performPublishAction:(void (^)(void)) action { if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) { [FBSession.activeSession requestNewPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends completionHandler:^(FBSession *session, NSError *error) { if (!error) { action(); } else if (error.fberrorCategory != FBErrorCategoryUserCancelled){ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Permission denied" message:@"Unable to get permission to post" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } }]; } else { action(); } } - (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user { self.loggedInUser = user; } - (void)facebookViewControllerDoneWasPressed:(id)sender { NSMutableSsortingng *text = [[NSMutableSsortingng alloc] init]; for (id<FBGraphUser> user in self.friendPickerController.selection) { if ([text length]) { [text appendSsortingng:@","]; } [text appendSsortingng:[NSSsortingng ssortingngWithFormat:@"%@",user.id]]; } //For post to friend's wall NSDictionary *params = @{ @"name" : @"Hello Please checkout this app", @"caption" : @" IOS APP", @"description" : @"", @"picture" : @"[email protected]", @"link" : @"http:www.google.com", @"to":text, }; // Invoke the dialog [FBWebDialogs presentFeedDialogModallyWithSession:nil parameters:params handler: ^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { if (error) { NSLog(@"Error publishing story."); UIAlertView *alertshow = [[UIAlertView alloc]initWithTitle:@"Failed" message:@"Failed to Post" delegate:Nil cancelButtonTitle:@"ok" otherButtonTitles:nil]; [alertshow show]; } else { if (result == FBWebDialogResultDialogNotCompleted) { NSLog(@"User canceled story publishing."); UIAlertView *alertshow = [[UIAlertView alloc]initWithTitle:@"Failed" message:@"Failed to post on your friend wall" delegate:Nil cancelButtonTitle:@"ok" otherButtonTitles:nil]; [alertshow show]; } else { NSLog(@"Story published."); UIAlertView *alertshow = [[UIAlertView alloc]initWithTitle:@"Success" message:@"Posted on Friend wall" delegate:Nil cancelButtonTitle:@"ok" otherButtonTitles:nil]; [alertshow show]; } }}]; [self fillTextBoxAndDismiss:text.length > 0 ? text : @"<None>"]; } - (void)facebookViewControllerCancelWasPressed:(id)sender { [self fillTextBoxAndDismiss:@"<Cancelled>"]; } - (void)fillTextBoxAndDismiss:(NSSsortingng *)text { [self dismissModalViewControllerAnimated:YES]; }