次のコードに問題があります。Facebook c#SDKを使用します。問題は、友達全員の職歴のリストをプルして印刷していることです。ただし、このデータが利用できない場合は、NullReferenceExceptionが発生していると思います。私はオンラインでたくさんの解決策を見てきましたが、うまくいくように見える解決策を見つけられませんでした。どんな助けでもいただければ幸いです。
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var accessToken = "...";
var client = new FacebookClient(accessToken);
dynamic myInfo = client.Get("me/friends", new { fields = "name,id,work" });
foreach (dynamic friend in myInfo)
{
foreach (dynamic work in myInfo.work) // <---- here
{
Response.Write("Employer: " + work.employer.name + "<br/> Position:" + work.position.name + "<br/><br/>");
}
}
}
}
提案された編集を含めましたが、別のエラーが発生しています。
namespace WebApplication1.Site
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var accessToken = "xxx";
var client = new FacebookClient(accessToken);
dynamic myInfo = client.Get("me/friends", new { fields = "name,id,work" });
foreach (dynamic friend in myInfo)
{
**foreach (dynamic work in friend.work ?? new[] { new { employer = new { name = string.Empty }, position = new { name = string.Empty } } })**
{
Response.Write("Employer: " + myInfo.work.employer.name);
}
}
}
}
}
'System.Collections.Generic.KeyValuePair'には、21行目の'work'の定義が含まれていません