使用C#Facebook SDK 5.0.3,在client.Get(“ / me”)上一切正常。

但是,当检索状态时,我应该根据facebook Graph API获取一个包含所有状态消息的数组列表“数据”,但是我的数据数组为空,并且出现“索引越界”异常。

有谁知道我的问题可能是什么?

if (Request.Params["code"] != null)
            {

                var client = new FacebookClient(GetAccessToken());

                dynamic me = client.Get("/me");

                imgUser.ImageUrl = "https://graph.facebook.com/" + me.id + "/picture";
                lblUsername.Text = me.name;
                lblHometown.Text = me.hometown.name;
                lblBirthday.Text = me.birthday;
                lblCurrenttown.Text = me.location.name;
                lblEmail.Text = me.email;
                lblOpleidingen.Text = "";
                lblOpleidingen.Text += me.education[1].type + ": " + me.education[1].school.name + ", " + me.education[1].year.name + "<br />"
                    + me.education[0].type + ": " + me.education[0].school.name + ", " + me.education[0].year.name;
                lblSex.Text = me.gender;

                dynamic status = client.get("/me/statuses");

                txtStatus.Text = status.data[0].message;
            }

最佳答案

它需要read_stream权限。确保您拥有它。

您的权限数组应如下所示:

string[] extendedPermissions = new[] { "user_about_me", "read_stream" };

            if (extendedPermissions != null && extendedPermissions.Length > 0)
            {
                var scope = new StringBuilder();
                scope.Append(string.Join(",", extendedPermissions));
                parameters["scope"] = scope.ToString();
            }


此外,第二个get()应该大写:Get()

dynamic status = client.get("/me/statuses");

dynamic status = client.Get("/me/statuses");

10-08 04:59