Что-то не так с передачей параметра в метод FB Api () - PullRequest
0 голосов
/ 09 января 2011

У меня есть следующий код, который выбирает мой список друзей с некоторыми конкретными полями, которые нужно вернуть.

public ActionResult Test()
{
    fbApp = new FacebookApp();
    authorizer = new CanvasAuthorizer(fbApp);
    authorizer.Perms = requiredAppPermissions;

    if (fbApp.Session != null)
    {
        dynamic friendsFields = new ExpandoObject();
        friendsFields.fields = "id,name,location,bio,gender,religion,activities";
        JsonObject data = fbApp.Get("/me/friends", friendsFields);

        ViewData["friends"] = data["data"] as JsonArray;

        return View();
    }
}

Я прошу указать идентификатор, имя, местоположение, биографию, пол, религию, поля деятельности, но результат не передает все эти поля.Возвращаются только идентификатор, имя, пол, из-за чего возникает подозрение, что что-то не так ... если я пытаюсь получить те же данные, используя браузер и передавая поля, результат возвращает все запрошенные поля:есть идеи, что здесь может быть не так?Это может быть API?Я использую последнюю версию 4.1.1

TIA!

1 Ответ

0 голосов
/ 09 января 2011

Вы должны привести результат метода Get или просто получить к нему динамический доступ.Вот исправленный код с исправленной авторизацией.

[CanvasAuthorize(Perms="user_friends")]
public ActionResult Test()
{
    var fbApp = new FacebookApp();  
    dynamic friendsFields = new ExpandoObject();
    friendsFields.fields = "id,name,location,bio,gender,religion,activities";
    dynamic result = fbApp.Get("/me/friends", friendsFields);

    var data = result.data as JsonArray;
    ViewData["friends"] = data;

    return View();
}
...