Facebook C # SDK приложение iframe canvas в 3.5 - PullRequest
0 голосов
/ 07 декабря 2010

Я пытаюсь использовать facebook c # sdk 4.0, используя framework 3.5 для приложения Iframe Canvas, я до сих пор добивался авторизации приложения с расширенными разрешениями, но я не уверен, правильно ли я иду,как все, что я сделал, это путем смешивания различных ответов здесь.Ниже приведен мой код

Родительский класс

protected string requiredAppPermissions = "email,publish_stream";

public MyMaster()
{
    fbApp = new FacebookApp();

    authorizer = new CanvasAuthorizer(fbApp);
    authorizer.Perms = requiredAppPermissions;
}

protected FacebookApp fbApp;
protected CanvasAuthorizer authorizer;

public void CanvasRedirect(string url)
{
    Contract.Requires(url != null);

    var content = CanvasUrlBuilder.GetCanvasRedirectHtml(url);

    Response.ContentType = "text/html";
    Response.Write(content);
}

Унаследованная страница

protected override void PageLoadEvent(object sender, EventArgs e)
{
    if (!authorizer.IsAuthorized())
    {
        var authurl = authorizer.GetLoginUrl(new HttpRequestWrapper(Request));
        CanvasRedirect(authurl.ToString());
    }
}

Диалог с правами доступа не перенаправляет меня обратно на мою страницу холста, т.е. в приложения.Вместо этого facebook.com/myapp перенаправляет меня на URL Canvas, т.е. mydomain.com/myapp.Есть догадки ???

TIA

Науман

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

Хорошо, наконец, я получил ответ на этот вопрос, необходимо добавить следующий обработчик в web.config

<add name="facebookredirect.axd" verb="*" path="facebookredirect.axd"
       type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
0 голосов
/ 07 декабря 2010

Проверьте следующие настройки на странице редактирования приложения facebook:

Вкладка веб-сайта:

Вкладка интеграции с Facebook:

Холст

Кстати,Я не уверен, правильно ли указано имя параметра, так как я вижу свой интерфейс на испанском

...