Расширенные разрешения для Facebook MVC C # - PullRequest
2 голосов
/ 29 января 2012

Я пытаюсь получить все фотографии из профиля пользователя, и мне нужно добавить это в расширенные разрешения моего приложения Facebook MVC C #.

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

"This webpage has a redirect loop"

У кого-нибудь есть идеи, как добавить расширенные разрешения?

    [FacebookAuthorize(LoginUrl = "/Account/Login", Permissions = "user_photos")]
    public ActionResult Profile()
    {
        var client = new FacebookWebClient();
        dynamic photos = client.Get("me/photos");
        dynamic me = client.Get("me/photos");
        ViewBag.Name = me.name;
        ViewBag.Id = me.id;

        return View();
    }

Ответы [ 2 ]

0 голосов
/ 03 февраля 2012

Я просто сделал то же самое, используя это:

[CanvasAuthorize(Permissions = "user_photos,publish_stream", CancelUrlPath = "/Home/NoPermission", ReturnUrlPath = "/Photos/Upload")]

Я не уверен, что разница между FacebookAuthorize и CanvasAuthorize. Что может помочь, так это установка REturnUrlPath. Я сделал это, потому что я работаю локально над виртуальным каталогом, и он не перенаправлял правильно после аутентификации.

0 голосов
/ 01 февраля 2012

Я бы хотел, чтобы кто-то поправил меня, если я не прав, но расширенные разрешения указываются либо на кнопке входа в систему, либо на кнопке разрешений.

Например, у меня есть кнопка входа на моей странице Default.aspx:

<fvk:loginbutton id ="loginbutton1" runat="server" OnConnectCalled="OnLogin" Permissions="email,user_birthday,publish_stream,user_photos" Size="small" />

Здесь я указываю, какие разрешения нужны моему приложению. И после этого я могу указать в своем коде, какую информацию мне нужно получить в определенный момент. Default.aspx.cs.

var client = new FacebookWebClient();
dynamic photos = client.Get("me/photos");
dynamic me = client.Get("me/photos");
ViewBag.Name = me.name;
ViewBag.Id = me.id;

Таким образом, когда пользователь впервые входит в ваше приложение, он дает запрошенные разрешения. Затем вы можете использовать его информацию / фотографии так, как хотите, в своем коде.

...