Это стало действительно раздражающим, когда сегодня обнаружены новые ошибки.
По сути, я пытаюсь сделать это;показать диалоговое окно Facebook и получить необходимые разрешения для приложения и запустить функцию обратного вызова js.Но не может достичь этой простой и самой важной части приложения.
Во-первых, давайте инициализируем это:
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function()
{
FB.init({appId: '135814169854494', status: true, cookie: true, xfbml: true, oauth: true });
FB.ui({method: "permissions.request", "perms": 'publish_stream,user_about_me,email,user_birthday,user_likes'} , function(response) { console.log(response); });
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/<?=$__FBLocal?>/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
![enter image description here](https://i.stack.imgur.com/j7p0V.png)
Теперь всплывающее окно Javascript отображается, ноесли вы нажмете Хорошо, перейдите к приложению , приложение не предоставит разрешения или даже всплывающее окно не исчезнет.Ничего не меняется! странно
Если вы отключите Расширенный диалог авторизации в разделе «Дополнительные параметры приложения» в разделе «Разработчики Facebook»,
![enter image description here](https://i.stack.imgur.com/TExn0.png)
PopUpИзменения стиля:
![enter image description here](https://i.stack.imgur.com/z0xhX.png)
Когда вы нажимаете кнопку Разрешить, выдается ошибка JavaScript: FB.Auth.setSession несовместим с OAuth2.
Это действительно распространенная ошибка.Есть несколько советов, чтобы не получить эту ошибку, которую я смог найти, но все они не работают.(Например, удалите все расширения для all.js url, который у меня отсутствует, или измените параметр oauth в FB.init, больше ничего не решается)
Итак, единственный обходной путь - к сожалению,- встраивание диалога разрешений в страницу путем перенаправления.Если кто-то может получить разрешение JS SDK, пожалуйста, дайте мне знать.Действительно застрял с отсутствием документации на страницах Graph API.