У меня проблемы с новым разрешением в FB - похоже, пользователям теперь нужно пройти через клиент oauth, чтобы одобрить приложение. Код следующим образом: -
защищенный void Page_Load (отправитель объекта, EventArgs e)
{
var auth = new CanvasAuthorizer { Permissions = new[] { "user_about_me" } };
if (auth.Authorize())
{
ShowFacebookContent();
}
else
{
Response.Redirect("https://www.facebook.com/dialog/oauth?client_id=<appli id>&redirect_uri=http://apps.facebook.com/<myapp>/Default.aspx");
FacebookWebAuthorizer auth2 = new FacebookWebAuthorizer(FacebookWebContext.Current);
auth2.Permissions = new[] { "name, first_name" };
if (auth2.Authorize())
{
Label1.Text = "Authorized";
}
else
{
Label1.Text = "Not Authorized";
}
}
Проблема в том, что, когда новый пользователь входит в систему, он отскакивает от сайта oauth, который делает свое дело, затем красиво перенаправляет обратно на страницу вызова, а затем зацикливается и вылетает.
Может показаться, что для распространения клятвы требуется некоторое время, поэтому код перезапускает перенаправление oauth - и т.д ...?
Единственный способ заставить это работать, это добавить, как указано выше, заставить пользователя войти в систему, он авторизуется, затем зацикливается и вылетает, затем я закомментирую перенаправление, и они будут утверждены (т.е. auth2.name = "Billbo Baggins "или что-то).
Есть ли у кого-нибудь полезные советы или обходные пути - я потратил 3 дня, чтобы просмотреть все (PHP-ориентированные) примеры и т. Д. Безрезультатно.
Добрейший, Джонатан.