如何在Facebook评论的墙贴上设置标题,图像和描述

时间:2011-07-16 20:48:47

标签: 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上方显示http://example.com),但我没有幸运得到这个工作。

我认为它会从我的元标记中获取信息(只要它们包含适当的'og'标记),但这不起作用。我也无法像普通墙贴一样定义标题,网址,图片等的值。

任何人都知道如何让这个工作?

编辑:

以下是我目前使用的元标记。

<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." />

3 个答案:

答案 0 :(得分:2)

使用URL Linter进行调试 http://developers.facebook.com/tools/lint/

确保所有元标记都是正确的,如果您进行了一些更改,则需要一些时间来更新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>

答案 1 :(得分:1)

好吧,经过很多磕磕绊绊之后,我发现了这一点。

我的iFrame应用程序在访问应用程序之前需要进行facebook身份验证(因为我相信所有的facebook应用都会这样做)。这意味着Facebook抓取工具无法抓取我的主页并选择og:meta标记。

要解决这个问题,我首先要弄清楚facebook抓取器的样子。我为所有请求记录了HTTP_USER_AGENT,然后使用facebook URL Linter(http://developers.facebook.com/tools/lint/)来ping我的网站。

facebook抓取工具将自己标识为“facebookexternalhit / 1.1(+ http://www.facebook.com/externalhit_uatext.php)”

一旦我有了这个,我就可以添加一些条件逻辑让爬虫绕过身份验证并访问我的网站。我希望这有助于其他人。

答案 2 :(得分:-1)

首先,我确保设置了所有元属性,然后我将代码放入其中:

if (strpos($_SERVER['HTTP_USER_AGENT'],"externalhit_uatext")<5)
   {
   }