2

我有这段代码,它有点工作。问题是我无法弄清楚如何向我的朋友展示每个单独的雇主。

namespace WebApplication1.Site
{
  public partial class WebForm1 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      var accessToken = "access token";
      var client = new FacebookClient(accessToken);
      dynamic myInfo = client.Get("me/friends", new { fields = "name,id,work" });
      foreach (dynamic friend in myInfo.data)
      {
        Response.Write("Name: " + friend.name + " Employer: " + friend.work + "<br/><br/>");
      }
    }
  }
}

当我尝试使用此代码时:

Response.Write("Name: " + friend.name + "<br/>Employer: " + friend.work.employer + "<br/><br/>");

我得到这个结果“ 'Facebook.JsonArray'不包含'employer'的定义

帮助!(如果重要,请使用 .net 4.5)

4

1 回答 1

1

在您的回复中,friend.work是一个数组,每个朋友可能有多个雇主(现在和/或未来)。Alsofriend.work.employer也是一个数组,包含每个雇主的 ID 和名称。

见这里:https ://developers.facebook.com/tools/explorer?method=GET&path=me%2Ffriends%3Ffields%3Dname%2Cid%2Cwork

我对c#不太熟悉,但我猜你不能直接写一个数组,所以你需要friend.work用一个foreach循环来循环并将每个返回的连接employer.name成一个字符串。

您可能会遇到麻烦,因为并非所有朋友都配置了他们的工作历史,所以您可能有朋友没有friend.work。您需要在代码中处理这种可能性。

于 2012-08-03T18:59:22.987 回答