FB.ui share_open_graph дает неправильный ответ на мобильный
Моя кодировка, как показано ниже:
<!DOCTYPE>
<html>
<head>
<script src="https://connect.facebook.net/en_US/sdk.js"></script>
<meta property="fb:app_id" content="1665615247095212" />
<meta property="og:type" content="heppiheppi:shares" />
<meta property="og:url" content="http://mywebsite.com" />
<meta property="og:title" content="Walk-in" />
<meta property="og:image" content="http://mywebsite.com/images/intro.jpg" />
<meta property="og:description" content="Bring more customers" />
</head>
<body style='padding:0;margin:0;'>
<div id="fb-root"></div>
<script>
FB.init({
appId : '1665615247095212',
xfbml : true,
version : 'v2.7'
});
function LaunchDialog(){
FB.ui({
method: 'share_open_graph',
action_type: 'og.shares',
action_properties: JSON.stringify({
object:'http://mywebsite.com',
})
},
function(response) {
if (response && !response.error_message) {
alert('Posting completed.');
} else {
alert('Error while posting.');
}
});
}
</script>
<a href="#" onclick="LaunchDialog();">Share now</a>
</body>
</html>
Если вы протестируете браузер на настольном компьютере, нажмите "Поделиться сейчас", откройте диалоговое окно "Поделиться", нажмите "Отмена /X", появится сообщение "Ошибка при публикации". Если тестирование выполняется в мобильном браузере, нажмите "Поделиться сейчас", откройте диалоговое окно "Поделиться", нажмите "Отмена /X", на нем отобразится "Публикация завершена". У кого-нибудь есть подсказки по этому вопросу?
3 ответа
Обновление с Facebook:
Команда совместного использования подробно изучила и определила, что расхождение связано с различными путями кода на нашей стороне для версии диалога для мобильных и настольных компьютеров.
Когда вы получаете идентификатор сообщения или сообщение об ошибке в объекте ответа, оно должно соответствовать документу, если пользователь вошел в ваше приложение и / или предоставил разрешение publish_actions
Во всех остальных случаях мы не документируем, каким будет ответ, и несоответствие, с которым вы сталкиваетесь, заключается в том, что иногда вы получаете пустой объект "ответа", а в других случаях вообще нет объекта ответа.
В настоящее время не планируется вносить какие-либо изменения, чтобы решить эту проблему, и вы не можете использовать отсутствие ответа в диалоговом окне, чтобы определить, была ли создана публикация.
Извиняюсь за задержку в получении определенного ответа здесь, но вы должны предположить, что текущее поведение останется в краткосрочной и среднесрочной перспективе;
Если будут внесены долгосрочные изменения, я думаю, что более вероятно, что ответ будет полностью удален, так как это будет соответствовать другим изменениям в этой области, чтобы не допустить сбора ресурсов и других стимулов для публикаций пользователей.
Команда Facebook подтвердила это как ошибку и передала это соответствующей команде для дальнейшего расследования.
Вы устанавливаете для og:type значение "heppiheppi:shares", создали ли вы этот тип объекта в своем приложении!?? Если это не так, установите его обратно на "сайт".