Я изменил замечательную библиотеку JQuery для выбора xdamman's (https://github.com/xdamman/selection-sharer), чтобы использовать FB.ui вместо виджета facebook/dialog/feed. Это связано с тем, что ни виджет/dialog/feed, ни виджет /sharer/sharer.php не могут контролировать сводку ссылок для общей ссылки. Таким образом, я использовал следующий код:Facebook SDK FB.ui Link Sharer: «Произошла ошибка. Повторите попытку позже».
FB.ui(
{
method: 'feed',
name: name, // (e.g. "Interesting News Item")
link: self.url2share, // (the current URL as determined by window.location.href, e.g. "https://www.commonspace.scot/articles/2688/poll-snp-support-surges-further-with-months-to-go-before-scottish-elections")
picture: picture, // (e.g. "https://www.commonspace.scot/public/artarticle/a3/41/4162_6493.jpg?c=64a2);%20?%3E")
caption: 'commonspace.scot',
description: text // (arbitrary text string)
},
function(response) {
if (response && response.post_id) {
//alert('Post was published.');
} else {
//alert('Post was not published.');
}
}
);
FB.ui инициализируется следующим образом:
window.fbAsyncInit = function() {
FB.init({
appId : '1011782388842782',
xfbml : true,
version : 'v2.4'
});
};
Теперь вот реальный футболист - приведенный выше код работает просто отлично при запуске из разработчика сервер на https://dev.commonspace.scot, но ошибка «Произошла ошибка. Повторите попытку позже». встречается при совместном использовании на главном сервере.
вещи я пытался:
Замена выше код следующим демо-кода с сайта facebook в:
FB.ui( { method: 'share', href: 'https://developers.facebook.com/docs/', }, // callback function(response) { if (response && !response.error_message) { alert('Posting completed.'); } else { alert('Error while posting.'); } } );
Обнаружена ошибка: «Это приложение находится в демонстрационном режиме, и вы не» У меня есть разрешение на просмотр ».
Замена всех динамически генерируемых строк (имя, ссылка2share, изображение, описание) с предопределенным фиктивным текстом. Ошибка: «Указанный URL-адрес не разрешен конфигурацией приложения. Один или несколько указанных URL-адресов не разрешены настройками приложения. Он должен соответствовать URL-адресу веб-сайта или холста, или домен должен быть поддоменом одного из домены приложений ".
Добавление
redirect_uri: 'https://www.commonspace.scot',
в качестве параметра для FB.ui. Результат: «Произошла ошибка. Повторите попытку позже».
Следующие важные параметры были определены для приложения:
- App находится в опубликованном режиме (они удалили «песочница» AFAICT)
Приложение ID устанавливается с помощью мета-тег:
<meta property="fb:app_id" content="1011782388842782" />
... и библиотека пайщик осознает идентификатор приложения.
- Отображаемое имя и контактное письмо были установлены для приложения.
- Было указано три домена приложения: commonspace.scot, dev.commonspace.scot, www.commonspace.scot; хотя я также пробовал только с одним доменом (commonspace.scot).
- URL-адрес сайта установлен на «https://www.commonspace.scot/».
Важное примечание: эти ошибки довольно общие и отображаются на большей части Facebook SDK.Большинство ответов, которые я видел до сих пор, в том числе на stackoverflow, относятся к другим частям SDK, например. OAuth особенно распространен с этими конкретными ошибками. Непонятно, как, если вообще, применимые здесь ответы. Я пробовал множество таких решений, но его неясно, выбрать один конкретный, что «Callback URI/URL» будет означать в этом контексте или если это поможет. Этот вопрос относится только к диалоговому окну.
Заранее спасибо.