client.get ("me / statuses") возвращает пустой массив "data", используя C # Facebook SDK 5.0.3 - PullRequest
2 голосов
/ 25 февраля 2011

Используя C # Facebook SDK 5.0.3, все работает нормально с клиентом. Получите ("/ me").

Но при получении статуса я должен получить «данные» архива со всеми сообщениями о статусе в соответствии с API Графика facebook, но вместо этого мой массив данных пуст, и я получаю исключение «Индекс выходит за границы». *

Кто-нибудь имеет представление о моей проблеме?

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

1 Ответ

2 голосов
/ 25 февраля 2011

Требуется разрешение 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");
...