AccessToken пуст в FacebookWebContext - PullRequest
       9

AccessToken пуст в FacebookWebContext

1 голос
/ 12 сентября 2011

Я создаю простое приложение FB, но получаю странную ошибку.У меня есть две страницы: Default.aspx и Test.aspx.В Default.aspx у меня есть следующее:

var auth = new CanvasAuthorizer
{
    Permissions = new[] { "user_about_me", "email" },
    CancelUrlPath = "xxxxxxxxxxxxxxx",
    ReturnUrlPath = "xxxxxxxxxxxxxx"
};

if (!FacebookWebContext.Current.IsAuthorized())
{
    LitMsg.Text = "You must give permissions to this application";
}
else
{
    if (auth.Authorize())
    {
         // Token
         LitToken.Text = FacebookWebContext.Current.AccessToken;
    }
}

А затем кнопка для перехода на вторую страницу:

protected void LbStart_Click(object sender, EventArgs e)
{
    Response.Redirect("Test.aspx");
}

На первой странице все работает.Если пользователь никогда не разрешал приложению иметь доступ к этим разрешениям, ему будет показано диалоговое окно разрешений.Проблема на второй странице.Я ожидал иметь доступ к токену доступа в FacebookWebContext, но это:

FacebookWebContext.Current.AccessToken

пусто, когда я попадаю на вторую страницу.

Почему это так?Как получить доступ к токену доступа после перехода на вторую страницу?

Заранее спасибо!

1 Ответ

0 голосов
/ 16 сентября 2011

тег привязки легче ориентироваться.а также убедитесь, что вы используете target = "_ top"

<a href="http://apps.facebook.com/a/test.aspx" target="_top" />

Навигация должна быть во внешнем самом верхнем фрейме.Если вы все еще хотите использовать кнопку, убедитесь, что передали значение signature_request вручную.Обратитесь к Проблема при повторной публикации в приложении Facebook mvc 3.0 , если вы хотите знать, как передать подписанный запрос.

Если вы переходите даже после отправки подписанного запроса, вы по-прежнему теряете такие функции, какURL-адрес тот же, что плохо для закладки.поэтому предпочтительным способом является использование тегов привязки.

...