这是我用来获取 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,你能告诉我这里做错了什么吗?
最佳答案
您可以使用这样的代码来获取好友信息
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; }
}
更新2:
您可以遍历列表以获取 friend 的详细信息,如下所示:
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...
}
关于c# - 数据返回 null,谁能告诉我我在这里做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8909467/