Приложение facebook, диалог для публикации на стене пользователя, используя javascript api, всплывающее окно заблокировано в браузерах
Я использую JS-API для создания диалога, который запрашивает разрешение на публикацию сообщения о состоянии, созданного моим приложением. ниже приведен скриншот того, о чем я говорю:
вот код:
FB.ui(
{
method: 'feed',
name: 'Facebook Dialogs',
link: 'http://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
message: 'Facebook Dialogs are easy!'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
Я использую пример кода JS, как указано в документации, и он хорошо работает, если всплывающие окна не заблокированы в настройках браузера. но без отображения сообщения о состоянии нет никакой утилиты приложения! Пожалуйста, помогите им застрял на последнем этапе. Спасибо!!
3 ответа
Я не понимаю, почему это тебя беспокоит. Если пользователь блокирует всплывающее окно FACEBOOK, то это его потеря!
В любом случае, если вам действительно нужно разобраться со всеми делами, вы можете выбрать другой способ. Прочитайте Диалог Подачи.
Что вы можете сделать, когда вы закончите с предыдущего шага, вы перенаправите свою страницу в метод фида Facebook, чтобы она открылась как страница:
http://www.facebook.com/dialog/feed?
app_id=123050457758183&
link=http://developers.facebook.com/docs/reference/dialogs/&
picture=http://fbrell.com/f8.jpg&
name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.&
message=Facebook%20Dialogs%20are%20so%20easy!&
redirect_uri=http://www.example.com/response
Важной частью для изменения здесь является app_id
а также redirect_uri
так ваш код будет выглядеть так:
...
previous code
...
inside previous code success response
...
var url = "http://www.facebook.com/dialog/feed?" +
"app_id=" + YOUR_APP_ID + "&" +
"link=http://developers.facebook.com/docs/reference/dialogs/&" +
"picture=http://fbrell.com/f8.jpg&" +
"name=Facebook%20Dialogs&" +
"caption=Reference%20Documentation&" +
"description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.&" +
"message=Facebook%20Dialogs%20are%20so%20easy!&" +
"redirect_uri=" + YOUR_REDIRECT_URI;
top.location.href = url;
Ваш код в порядке. Это поднимает Диалог Подачи для меня. Ваша проблема где-то еще. Вы добавили <div id="fb-root"></div>
? Убедитесь, что он находится вверху страницы сразу после <body>
тег.
Также убедитесь, что вы загружаете FB Javascript SDK правильно:
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
Используйте этот код, который вы забыли добавить свойство отображения
FB.ui(
{
method: 'feed',
display: 'popup',
name: 'Facebook Dialogs',
link: 'http://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
message: 'Facebook Dialogs are easy!'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);