Я пытаюсь позволить пользователю аутентифицироваться на Facebook и показать его список страниц, которыми можно управлять. Это сработало нормально, но через неделю или две Facebook требуется разрешение под названием «manage_pages».
Я пытаюсь запросить это разрешение и придумал решение ниже. Это работает, но проблема в том, что мое второе всплывающее окно (вторая часть кода), которое запрашивает разрешения maange_pages, блокируется большинством браузеров, поскольку всплывающее окно не вызывается действием пользователя, например нажатием кнопки.
Первое всплывающее окно (вход в Facebook) отображается нормально. Как я могу решить эту проблему, чтобы второе всплывающее окно не блокировалось. Возможно, есть способ показать запрос разрешений manage_pages за один шаг вместо того, чтобы делать это так, как описано ниже.
FB.init({
appId : '...',
session : ..., // don't refetch the session when PHP already has it
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Event.subscribe('auth.login', function() {
FB.login(function(response) {
if (response.session) {
if (response.perms) {
window.location.reload();
} else {
window.location.reload();
}
} else {
window.location.reload();
}
}, {perms: 'manage_pages'});
});