Teemu Tapanila bio photo

Teemu Tapanila

Microsoft Azure MVP and Windows Phone developer

Email Twitter Facebook Google+ LinkedIn Github Stackoverflow

This post continue from the last one: Facebook get information about the user

So we are only going to touch the FacebookLogin.cs file and only the GetInformation and _fbClient_GetCompleted functions.

[sourcecode language=”csharp”] private void GetInformation() { //Create the Facebook client with the accessToken. //after this the client can be used to retrieve/send the data FacebookClient _fbClient = new FacebookClient(_accessToken); //Create a eventhandler for data download completed _fbClient.GetCompleted += _fbClient_GetCompleted; //Get the friends data _fbClient.GetAsync("me/friends"); }

    void _fbClient_GetCompleted(object sender, FacebookApiEventArgs e)
        //Turn the data into Dictionary.
        //If you want to see what the Facebook is returning you can
        // check it with this tool provided by Facebook
        var result = e.GetResultData() as IDictionary<string, object>;
        //If you look at the data that the API returns
        //All of the data is under array Data, so we are saying
        //Store the data array into var data and then loop thru it
        var data = result["data"] as JsonArray;
        //Looping thru the data array
        foreach (IDictionary<string,object> friend in data)
            //Get the name of friend
            string name = friend["name"].ToString();
            //Get the id of friend
            string id = friend["id"].ToString();
            //Currently the thread running this code
            //is not the UI thread and only UI thread can update
            //UI. So we are calling the UI thread here.
            _page.Dispatcher.BeginInvoke(() =>
                MessageBox.Show(name + " (" + id + ")");
    } [/sourcecode]

So with only few lines of changes we created a application that can be used to fetch all of the friends of user.

Full solution