以下是我用来获取Facebook好友列表的代码
public class FBUser
{
public long Id { get; set; }
public string Username { get; set; }
public string Name { get; set; }
public string Link { get; set; }
public string Picture { get; set; }
// empty constructor
public FBUser()
{ }
}
列表类
public class FbFriendList
{
public WcdyList<FBUser> Data { get; set; }
}
这是我用来获取好友列表的方法:
try
{
FacebookClient client = new FacebookClient(accesstoken);
FbFriendList myfriends = client.Get<FbFriendList>("me/friends?fields=id,name,username,picture,link");
if (myfriends.Data.Count > 0) return myfriends.Data;
else return null;
}
catch (Exception ex) { }
myfriends将数据对象返回null,你能告诉我这里做错了什么吗?
答案 0 :(得分:2)
您可以使用此类代码获取朋友信息
FacebookClient client = new FacebookClient(accesstoken);
dynamic result = app.Get("me/friends?fields=id,name,username,picture,link");
现在,您可以将结果数据映射到自定义类...
<强>更新强>
您似乎使用Data
代替data
(您应该坚持使用原始的字段名称作为回应)
public class FbFriendList {
public WcdyList<FBUser> data { get; set; }
}
<强> UPDATE2:强>
您可以遍历列表以获取此类朋友的详细信息:
foreach (dynamic friend in result.data) {
string friendId = friend.id;
string friendName = friend.name;
// etc...
}
如果你还没有.net4:
,或者这样var resultData = (IList<object>)result.data;
foreach (var friendObj in resultData) {
var friend = (IDictionary<string, object>)friendObj;
string friendId = friend["id"];
string friendName = friend["name"];
// etc...
}