Ошибка диалога в ленте Facebook 191
Итак, я пытаюсь заставить Диалог Фида Facebook работать через Их API, но пока безуспешно.
Я использую Facebook Javascript SDK и метод FB.ui.
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'MY FB APP ID',
xfbml : true,
version : 'v2.3'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<script type="text/javascript">
function fbShare(url, title, descr, image) {
FB.ui({
method: 'feed',
name: title,
link: url,
caption: 'Title',
description: descr,
picture: image,
display: 'popup',
redirect_uri: url
},
function(response) {
if (response && response.post_id) {
//alert('Post was published.');
} else {
//alert('Post was not published.');
}
});
}
</script>
Вот так выглядит моя ссылка:
<a href="javascript:fbShare('http://mywebsite.com/avaliacao/9d8ee3cb3ad759b134da94802e7c49c8', 'My Site Has a new share', 'Lorem ipsum is a pseudo-Latin text used in web design, typography, layout, and printing in place of English to emphasise design elements over content.', 'http://mywebsite.com.br/img/fb-share.png')">Share</a>
Ошибка выдается, когда я нажимаю ссылку поделиться:
Произошла ошибка. Пожалуйста, попробуйте позже.
Код ошибки API: 191.
Описание ошибки API: указанный URL-адрес не принадлежит приложению.
Сообщение об ошибке: redirect_uri не принадлежит приложению."
2 ответа
Решение
Я закончил, используя другой способ использовать Диалог Подачи.
Javascript:
<script type="text/javascript">
function fbShare(url, title, descr, image, winWidth, winHeight) {
var winTop = (screen.height / 2) - (winHeight / 2);
var winLeft = (screen.width / 2) - (winWidth / 2);
window.open('https://www.facebook.com/dialog/feed?app_id=APP-ID
&name=' + title
+ '&picture=' + image
+ '&caption=My+Caption
&display=popup' + '
&description=' + descr + '
&link=' + url + '
&redirect_uri=http://mywebsite.com.br/fb-close-popup-window',
'sharer',
'top=' + winTop + ',
left=' + winLeft + ',
toolbar=0,
status=0,
width=' + winWidth + ',
height=' + winHeight);
}
</script>
HTML
<a href="javascript:fbShare('http://mywebsite.com/9d8ee3cb3ad759b134da94802e7c49c8','My Site Has a new share','Lorem ipsum is a pseudo-Latin text used in web design, typography, layout, and printing in place of English to emphasise design elements over content.','http://mywebsite.com.br/img/fb-share.png',520, 350)">Share</a>
Удалить redirect_url
и попробуй еще раз. Или обязательно добавьте домен redirect_url
в качестве платформы веб-сайта в настройках приложения ( http://mywebsite.com/).