Facebook SDK C # - получить список друзей - PullRequest
4 голосов
/ 21 декабря 2011

Используя Facebook SDK (http://facebooksdk.codeplex.com/),, вы делаете что-то вроде этого ...

        string myAccessToken = "something";
        FacebookClient client = new FacebookClient(myAccessToken);
        IDictionary<string, object> friendData = (IDictionary<string, object>)client.Get("/me/friends");

Теперь, как вы получаете данные о друзьях из словаря?

Ответы [ 2 ]

21 голосов
/ 29 декабря 2011

Ваша функция для сохранения списка друзей из данных json:

string myAccessToken = "something";         
FacebookClient client = new FacebookClient(myAccessToken);         

var friendListData = client.Get("/me/friends");
JObject friendListJson = JObject.Parse(friendListData.ToString()); 

List<FbUser> fbUsers = new List<FbUser>();
foreach (var friend in friendListJson["data"].Children())             
{   
    FbUser fbUser = new FbUser();
    fbUser.Id = friend["id"].ToString().Replace("\"", "");                 
    fbUser.Name = friend["name"].ToString().Replace("\"", "");                 
    fbUsers.Add(fbUser);
}

Класс для пользователя Facebook

Class FbUser {
    String Id { set; get; }
    String Name { set; get; }
}
1 голос
/ 09 июля 2013

Поскольку у меня была та же проблема, и я искал хорошее решение. Я сделал то же самое с linq, получив меньше кода. И в большинстве случаев меньше больше:)

FacebookClient client = new FacebookClient(accessToken);
dynamic friendListData = client.Get("/me/friends");
var result = (from i in (IEnumerable<dynamic>)friendListData.data
             select new
             {
                 i.name,
                 i.id
             }).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...