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]; }