当用户点击我页面上的“推荐”按钮时,我想在我的页面上发布他的墙上标题和部分文章。如何更改发送到用户墙/时间线的信息?我找到了一个提示,我应该添加开放图元标记,但是当我在META中设置og:title和og:description时:
<meta content="Title" property="og:title">
<meta content="Description" property="og:description">
没有任何改变。
还有其他想法吗?或许我做错了?
[被修改]
我的代码:
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#">
<meta content="Test1" property="og:title">
<meta content="website" property="og:type">
<meta content="*Link to my web page*" property="og:url">
<meta content="*Link to my image*" property="og:image">
<meta content="Description" property="og:description">
<title>Page Title</title>
[...]
</head>
在对象调试器中,我收到了这样的消息:
推断属性:应明确提供og:url属性, 即使可以从其他标签推断出值。
推断属性:og:title属性应该是显式的 提供,即使可以从其他标签推断出值。
推断属性:og:locale属性应该是显式的 提供,即使可以从其他标签推断出值。
og:url:链接到我的网页
og:type:website
og:title:Page Title
og:updated_time:1319793567
规范网址:链接到我的网页
所以看起来调试器只从我的页面获取信息(例如<title>
),而不是Open Graph标签。
我做错了什么?
可能我找到了问题的原因 - 我使用JavaScript渲染我的页面,然后设置了我的META。有没有办法为FB设置META(动态)可见?
答案 0 :(得分:0)
您是否在http://developers.facebook.com/tools/debug处通过调试工具运行了页面? 调试工具清除Facebook的页面缓存以及检查元标记的语法。 需要的标签多于您列出的两个标签
答案 1 :(得分:0)
不,您无法动态创建元标记。当facebook决定对其进行探测时(通常在分享/喜欢/推荐操作后不久),您需要服务器正确呈现这些元标记。
编辑:说清楚 -
无法控制来自客户端的元标记的呈现。 如果您希望应用程序的不同URL具有不同的og:title,og:image等,则必须确保您的SERVER为每个URL提供带有正确元标记的html。
首先将您想要的所有信息放在网址中,例如http://example.com/?title=shalom+world&image=shalom.png,然后在您提供网页时,解析网址并正确呈现元标记OR .. < / p>
在URL中有一些ID,您将根据该ID获取相应的数据库记录,并使用该记录中的信息将您提供的html的head标记呈现为元标记,例如:http://example.com/DB-RECORD-ID-X123