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は、は配列であり、友人ごとに複数の雇用者(現在および/または将来)がいる可能性があります。またfriend.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 に答える