У меня такая же проблема, и я так и не смог получить ответ от Facebook для функции обратного вызова. Я не вижу ничего в console.log или каких-либо предупреждениях, которые вставляю в функцию.
Мое решение состояло в том, чтобы поместить URL в redirect_uri FB.ui, который идет на страницу HTML с self.close (или window.close). Всплывающее окно FB.ui перенаправляется туда после ввода пользователя и сразу закрывается. Не забудьте изменить настройку URL-адреса сайта вашего приложения FB, чтобы она соответствовала домену, в котором находится файл.
Вот мой код, связанный с действием отправки формы. Функция (ответ) обратного вызова все еще там, но не используется. Если кто-то видит синтаксическую ошибку, пожалуйста, прокомментируйте ее.
FB.ui ({
method: 'feed',
name: '',
link: '',
picture: '',
caption: '',
description: '',
actions: {name:'',link:''},
redirect_uri: 'http://.../self.close.html'
},
function(response) {
console.log(response);
if (response && response.post_id) {
alert('yes');
self.close();
} else {
alert('else yes');
}
});
Строка кода в self.close.html:
<script type="text/javascript">self.close();</script>