所以我正在制作一个涉及通过Facebook开放图形协议共享的iPhone应用程序。但是,我在为带有元标记的对象创建动态网页时遇到困难。我发现了这篇文章Generating Facebook Open Graph meta tags dynamically,并尝试使用代码,但它不起作用。
这是我的food.php对象网页。
<?php
$params = array();
if(count($_GET) > 0) {
$params = $_GET;
} else {
$params = $_POST;
}
// defaults
if($params['type'] == "") $params['type'] = "food";
if($params['title'] == "") $params['title'] = "default title";
if($params['image'] == "") $params['image'] = "blank";
if($params['description'] == "") $params['description'] = "default description";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#">
<!-- Open Graph meta tags -->
<meta property="fb:app_id" content="MY_APP_ID" />
<meta property="og:url" content="http://mysite.com/index.php?type=<?php echo $params['type']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&description=<?php echo $params['description']; ?>"/>
<meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/>
<meta property="og:title" content="<?php echo $params['title']; ?>"/>
<meta property="og:image" content="http://mysite.com/img/<?php echo $params['image']; ?>.jpg"/>
<meta property="og:description" content="<?php echo $params['description']; ?>"/>
</head>
</html>
将此代码驻留在我的服务器中,我尝试使用带有此URL的fb对象调试工具访问该页面。
http://mysite.com/food.php?fb:app_id=MY_APP_ID
&og:type=MY_APP_NAME_SPACE:food
&og:title=Pizza
&og:description="Pizza"
&og:image=http://mysite.com/img/someImage.jpg
*请注意网址中没有空格
并且调试器抛出此错误
错误解析URL:解析输入URL时出错,没有数据被删除。
我认为问题出在我输入的网址中,因为该工具无法解析它?如果不是,它会是什么?
答案 0 :(得分:0)
if($params['description'] == "") $params['description'] = "default description";
“默认描述”实际上应该是您对观看者将看到的网站的描述,因为这是Facebook在您的网页上抓取的内容。
变量$ params ['description']; ?&GT;将在您的字符串中输出实际描述。 “/&GT;
echo声明就像打印出实际描述一样,是facebook的调试器会看到的。
您需要通过URL传递值,例如mysite.com/pizza.php?title=pizza&description=whateveryourdescriptionis,以便Facebook抓取该特定页面