Я пытался внедрить кнопку «Поделиться» в Facebook на моем сайте, и у меня есть несколько сомнений, но я собираюсь опубликовать их в разных сообщениях, чтобы попытаться найти конкретные проблемы, которые я обнаружил.
Большая часть контента моего сайта генерируется динамически за счет пользовательского ввода и информации, хранящейся в базе данных. В настоящее время я работаю с тестовым файлом, который был удален из большинства материалов, чтобы убрать шум и определить, что идет не так, когда Facebook счищает мой URL.
Это мой код
<?php
$id=$session->user_id;
$user=User::find_by_id($id);
?>
<html>
<head>
<title>Title</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- Open Graph meta tags -->
<meta property ="fb:app_id" content="123465"/>
<meta property="og:url" content="http://www.example.com/share_test.php" />
<meta property="og:type" content="website" />
<meta property="og:title" content="<?php echo $user->first_name; ?>" has done something. />
<meta property="og:description" content="This is what <?php echo-> $user->first_name; ?> did." />
<meta property="og:image" content="http://www.example/image.jpg" />
</head>
<body>
<!-- Inclusion of Facebook Javascript SDK and share button function here-->
<p><?php echo $user->first_name; ?> has done something</p>
<img src="image.jpg">
<div class="fb-share-button"data-href="http://www.example.com/share_test.php"data-layout="button_count">
</div></body>
</html>
Я заметил, что когда я добавляю некоторые функции PHP вверху файла, инструмент отладчика сообщает, что Facebook не распознает определенные свойства OG, даже если они указаны в моем файле. Когда вы нажимаете «Посмотрите, что именно наш скребок видит для вашего URL», происходит сбой запроса к базе данных. Так что запрос MySQL, который идет с $user=User::find_by_id($id)
не может быть сделано скребком Facebook (мой сайт выполняет вызов без проблем). У кого-нибудь есть понимание того, как обойти эту проблему?
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …