如何设置标题、img和facebook评论中的墙贴描述
我正在构建一个使用facebook评论的facebook iFrame应用程序。当用户留下评论时,默认操作是将该评论张贴到他们的墙上。墙上的柱子是沿着如何设置标题、img和facebook评论中的墙贴描述,facebook,facebook-graph-api,fbml,Facebook,Facebook Graph Api,Fbml,我正在构建一个使用facebook评论的facebook iFrame应用程序。当用户留下评论时,默认操作是将该评论张贴到他们的墙上。墙上的柱子是沿着 UserX commented on example.com # the comment text goes here http://example.com apps.facebook.com 你应该能够包括一张图片,一个描述,并将链接设置为页面的标题(上面写着apps.facebook.com),但我没有运气让它起作用 我以为它会从我的元标
UserX commented on example.com
# the comment text goes here
http://example.com
apps.facebook.com
你应该能够包括一张图片,一个描述,并将链接设置为页面的标题(上面写着apps.facebook.com),但我没有运气让它起作用
我以为它会从我的元标记中获取信息(只要它们包含适当的“og”标记),但这不起作用。我也不能像普通的墙贴那样定义标题、url、图像等的值
有人知道如何让它工作吗
编辑:
下面是我目前正在使用的元标记
<meta property="og:title" content="USERNAME'S PAGE" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://example.com"/>
<meta property="og:image" content="http://example.com/images/wall-post.png" />
<meta property="og:description" content="Some description goes here." />
使用URL Linter进行调试
确保所有元标记都正确无误,如果您做了一些更改,则需要一些时间来更新facebook,下面是一个示例,这是一个工作版本:
<!doctype html>
<html xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml" lang="en">
<head>
<meta charset="utf-8">
<title>Facebook Comment Box Sample</title>
<meta property="og:title" content="YOUR-POST-TITLE"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://YOUR-SITE-URL"/>
<meta property="og:image" content="http://YOUR-IMAGE-URL"/>
<meta property="og:site_name" content="YOUR-SITE-TITLE"/>
<meta property="og:description" content="YOUR-DESCRIPTION"/>
<meta property="fb:admins" content="YOUR-USER-ID"/>
</head>
<body>
<h1>Facebook Comment Box:</h1>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:comments href="http://YOUR-SITE-URL" num_posts="10" width="500"></fb:comments>
</body>
</html>
Facebook评论框示例
Facebook评论框:
好吧,经过一番周折,我终于明白了这一点
我的iFrame应用程序在访问应用程序之前需要facebook身份验证(我相信所有facebook应用程序都会这样做)。这意味着facebook爬虫无法抓取我的主页并获取og:meta标签
为了解决这个问题,我首先必须弄清楚facebook爬虫是什么样子的。我记录了所有请求的HTTP_用户_代理,然后使用facebook URL Linter(http://developers.facebook.com/tools/lint/)点击我的网站
facebook爬虫将自己识别为“facebookexternalhit/1.1”(+http://www.facebook.com/externalhit_uatext.php)"
一旦我知道了,我就可以添加一点条件逻辑,让爬虫绕过身份验证并访问我的站点。我希望这对其他人有所帮助。首先,我确保设置了所有的元属性,然后我将代码放在以下位置:
if (strpos($_SERVER['HTTP_USER_AGENT'],"externalhit_uatext")<5)
{
}
if(strpos($\u服务器['HTTP\u用户\u代理],“externalhit\u-ext”)感谢您将我指向URL Linter。我编辑了我的帖子,以显示我正在使用的元标记。我在几个小时前更新了它们,但它们仍然没有被提取。我认为这个答案缺少重要的上下文。我可以看出寻找Facebook的爬虫的用户代理在回答这个问题时可能起到了什么作用,但接下来呢?