我使用这个教程https://developers.facebook.com/docs/opengraph/tutorial/来制作我的第一个应用程序,但我想使用php变量为我的og:这样的标题“/>。这个php变量每次页面加载时都会不断变化但是当我在facebook中发布我的动作与旧标题一起出现! 这是代码:
<?php
$title = ' Hello world';
// <---- This php variable is changing every time
the page loads but the title is not being recognised
?>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# fitnessgod: http://ogp.me/ns/fb/fitnessgod#">
<meta property="og:locale" content="en_US" />
<meta property="fb:app_id" content="My app Id" />
<meta property="og:type" content="fitnessgod:news" />
<meta property="og:url" content="https://www.fitness-god.com/share-facebook.php" />
<meta property="og:title" content="<?php echo $title; ?>" />
<meta property="og:description" content="let's do sport" />
<meta property="og:image" content="https://www.fitness-god.com/images/sport dinamic.png" />
<script type="text/javascript">
function postCook()
{
FB.api('/me/fitnessgod:share' +
'?news=https://www.fitness-god.com/share-facebook.php','post',
function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post was successful! Action ID: ' + response.id);
}
});
}
</script>
</head>
<body>
<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId:'My App id', cookie:true,
status:true, xfbml:true, oauth:true
});
</script>
<fb:add-to-timeline></fb:add-to-timeline>
<h3>
<font size="30" face="verdana" color="grey">
Stuffed Cookies
</font>
</h3>
<p>
<img title="Sports News"
src="https://www.fitness-god.com/images/sport dinamic.png"
width="550"/><br />
</p>
<form>
<input type="button" value="Share news" onClick="postCook()" />
</form>
<fb:activity actions="fitnessgod:share"></fb:activity>
</body>
</html>
答案 0 :(得分:0)
您需要更正元标记定义。使用属性名称,而不是属性:
E.g:
<meta name="og:title" content="<?php echo $title; ?>" />
您可以使用调试器来测试代码:
http://developers.facebook.com/tools/debug
另请注意,单击共享时,可能会缓存页面内容。但是,调试器始终会获得最新内容。
答案 1 :(得分:0)
在使用该链接执行多项操作(50 个喜欢、分享和/或评论)后,您似乎正在体验 og:title
的“冻结”。
Facebook 这样做的主要原因之一是为了防止许多人共享看似安全的链接,然后让网站所有者将标题替换为令人反感的内容,并将其显示在人们的时间线上。
有关其他信息,请参阅 this link。