Bernice
Bernice

Reputation: 2592

Get list of invited friends from MultiFriendSelector

I am using ASP.net C# for a web application that integrates with the Facebook API. My application will allow users to create a group for sharing code. I need to use Facebook API to let the user invite friends from Facebook to join his group on my application. This is a requirement for an assignment so please don't give suggestions to create a group of users that are registered with my site only.

Until now I have the request dialog with all the friends listed (MultiFriendSelector()) with this code:

<p> Click <span id="span-link" onclick="sendRequestViaMultiFriendSelector(); return     false;">here</span> to add friends from your Facebook account to your group! </p>         

But I am stuck on how to get the id's and details of these invited users so I can save them in my database and allow them to access the group they were invited to. How can I do this please? I can't seem to find anything related to this.

By the way I know that there is a related question which gives this code:

if( Request["ids"] != null )
   ((Site)Master).FbInviteSent(Request.QueryString.GetValues("ids"));

but I don't know what Master is and I cant get it to work.

Thanks for your help :)

Upvotes: 0

Views: 474

Answers (2)

Fabio Antunes
Fabio Antunes

Reputation: 22862

Whenever you call the request dialog, you may pass a callback function:

function sendRequestViaMultiFriendSelector() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request'
  }, requestCallback);
}

The requestCallback will receive the response, and this response returns the facebook id of the users, who were invited

function requestCallback(response){
  for (var i = 0; i < response.to.length; i++) {
   fb_id = response.to[i];
   // Do something with fb_id.
  }
}

Upvotes: 1

CountZero
CountZero

Reputation: 6389

From looking at the code in the other answer it looks like the facebook API will call back to your page with a query string parameter of ids.

I.e. It will call you site with a url like this.
http://wwww.yoursitesulr.com/mypage.aspx?ids=13,22,44

You can then pull out the id's from the query string using

string myIds = Request.QueryString["ids"];

You can then convert them to a array.

var ids = myIds.Split(',');

If you are using MVC then you can take advantage of the model binders and just put an int array in your view model and it will get bound automatically.

The answer below addresses your specific issie so I would use this as a starting point.

Faceboook: Posting to Multiple Friend's Walls Using Multiple Friend Selector and JS SDK

Let me know if you have any questions regarding the above solution.

Regards

Steve

Upvotes: 1

Related Questions