繁体   English   中英

如何使用Facebook C#SDK获取用户朋友列表?

[英]How To Get User Friends List Using Facebook C# SDK?

如何使用facebook c#sdk检索用户朋友列表? 我需要知道哪些权限允许我获取该信息。 以下是我自己的尝试,但是没有用:


    //retrieve all user friends ids & names in 2D array 
    public static string[,] getFriends(string accessToken)
    {
        string[,] friends;
        FacebookClient fb = new FacebookClient(accessToken);
        dynamic friend = fb.Get("me/friends");
        int count = (int)friend.data.Count;
        friends = new string[count, 2];
        for (int i = 0; i <count; i++)
        {
            friends[i, 0] = friend.data[i].id;
            friends[i, 1] = friend.data[i].name;
        }//end for 
        return friends;
    }//end get friends

首先,您需要类来从Facebook以JSON格式给出的结果中获取所有数据。 然后,您需要使用gridview来显示类中的数据。

这是获取您的朋友列表的代码:

public class MyFriends
    {
        public long uid { get; set; }
        public string username { get; set; }
        public string first_name { get; set; }
        public string last_name { get; set; }
        public long? friend_count { get; set; }  //nullable
        public string pic_big { get; set; }
        public string birthday { get; set; }
        public string birthday_date { get; set; }
        public string contact_email { get; set; }
    }

protected void friendsList()
{
    var fb = new FacebookClient("YOUR TOKEN HERE");
    var query = string.Format(@"SELECT uid, username, first_name, last_name, friend_count, pic_big, birthday, birthday_date, contact_email 
                        FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())");

    dynamic parameters = new ExpandoObject();
    parameters.q = query;
    dynamic results = fb.Get("/fql", parameters);

    List<MyFriends> q = JsonConvert.DeserializeObject<List<MyFriends>>(results.data.ToString());

    GridView1.DataSource = q;
    GridView1.DataBind();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM