我现在已经在这个问题上挣扎了好几个小时,而且还没到任何地方。
我有以下元标记:
<meta property="og:type" content="website" />
<meta property="og:title" content="I'm going to see Speaker name" />
<meta property="og:description" content="This is the description of the speaker" />
<meta property="og:url" content="http://example.com/Speakers.aspx?speaker=35" />
<meta property="og:image" content="http://example.com/test.jpg" />
<meta property="og:image:width" content="600">
<meta property="og:image:height" content="315">
通过Facebook调试工具运行此URL后,我收到以下错误消息: “网站”类型的网址“http://example.com/Speakers.aspx?speaker=35”上的对象无效,因为未提供“url”类型的必需属性“og:image:url”。
根据Open Graph协议(http://ogp.me/#structured),og:image&amp; og:image:url是相同的,但我还是尝试添加它:
<meta property="og:image:url" content="http://example.com/RGDDT/images/test.jpg" />
<meta property="og:image:type" content="image/jpeg" />
然而,页面上的前7个图像仍然被刮掉而不是我想要使用的图像。
非常感谢任何见解!
答案 0 :(得分:0)
这可能是best article on which metatags you need。 Facebook要求你拥有一个id,以便现在甚至可以使用Like按钮。我在你的代码片段中看不到那些元标记。尝试添加:
<meta property="fb:app_id" content="1111111111111111" />
<meta property="fb:admins" content="2222222222" />
第一个是你的app_id号码,你似乎需要将你的博客变成一个应用程序,让Facebook开心。第二个是您的个人ID号,如果您有个人ID号,也可以使用它。包括这些东西似乎让Facebook感到高兴,我认为你可以通过分析来解决问题。
答案 1 :(得分:0)
所以我终于解决了这个问题。
问题#1 :我正在使用&#39;永久性&#39;网址(/getmedia/3c87abee-1cd0-4ca3-a07d-b7d8fde8ec4b/irma1.jpg.aspx?width=437&height=434&ext=.jpg)而不是&#39; direct&#39;网址(/RGDDT/media/RGDDT/Speakers/facebook-share/irma-boom.jpg?width=600&height=315&ext=.jpg)。这是我能够在Kentico中配置的设置(我们用来构建此站点的CMS)
问题#2 :我在Facebook调试工具中得到了我想要的结果,但是当我尝试从实际网站分享时,它们被缓存了。感谢this article我能够通过添加&#39;&amp; v = 1&#39;来解决这个问题。 (或者&#39;?v = 1&#39;如果你的URL末尾没有查询字符串),那么Facebook认为这是一个新的页面请求,并没有缓存描述我今天早上硬编了。