数据正在返回null,有人能告诉我我在这里做错了什么吗

本文关键字:在这里 告诉我 错了 什么 返回 null 数据 | 更新日期: 2023-09-27 18:20:44

这是我用来获取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) { }

我的朋友们正在返回数据对象null,你能告诉我我在这里做错了什么吗?

数据正在返回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:
你可以循环浏览列表以获取朋友的详细信息,如下所示:

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...
}