Я могу ответить на ваш вопрос, используя FQL, что, на мой взгляд, намного проще.Я использовал FacebookWebclient, но FacebookClient должен работать так же.
FacebookWebClient fb = new FacebookWebClient ();
string query0 = "SELECT uid2 FROM friend WHERE uid1 = me()"; //here you get the friends list
string query1 = "SELECT uid, message, status_id FROM status WHERE uid IN (SELECT uid2 FROM #query0)"; //here you get the last statuse of each friend (max 50, or max from the last 30 days)
string query2 = "SELECT uid, name FROM user WHERE uid IN (SELECT uid FROM #query1)"; //here you get the user data (in this case the name only)
dynamic result = fb.Query(query0, query1, query2); //all results
dynamic status = result[1][1]; //results of query1
dynamic friend = result[2][1]; //results of query2
for (int i = 0; i < result[1][1].Count; i++)
{
litFeedback.Text += "<a href=\"http://www.facebook.com/profile.php?id=" + status[i].uid + "\" target=\"_blank\">" + friend[i].name + "</a> : "
+ status[i].message + "<br/>" + Environment.NewLine;
}
//if not using .net 4.0:
//var result = (IList<object>)fb.Query(query1, query2);
//var result0 = ((IDictionary<string, object>)result[0])["fql_result_set"];
//var result1 = ((IDictionary<string, object>)result[1])["fql_result_set"];
Примечание:
http://developers.facebook.com/docs/reference/fql/status/ "Таблица состояния ограничена последними 30 днями или 50 сообщениями, в зависимости от того, что больше."
И, конечно, вам нужны разрешения для: friends_status