首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脸书我喜欢按钮不总是在工作

脸书我喜欢按钮不总是在工作
EN

Stack Overflow用户
提问于 2011-02-11 15:06:29
回答 4查看 18.7K关注 0票数 12

我使用了以下代码来实现“相似”按钮:

报头

代码语言:javascript
复制
<!-- Facebook Metatags -->
<meta property="og:image" content="http://mysite/logo.gif"/>
<meta property="og:locality" content="mycity"/>
<meta property="og:country-name" content="Germany"/>
<meta property="og:latitude" content="52.xxxxxxx"/>
<meta property="og:longitude" content="9.xxxxxxx"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="mypage.com"/>
<meta property="og:url" content="http://mypage.de/myproduct/myproductkey"/>
<meta property="og:title" content="Myproduct Description"/>

mypage.de/myproduct/myproductkey上的

代码语言:javascript
复制
<div id="facebook-likebox">
<script src="http://connect.facebook.net/de_DE/all.js#xfbml=1"></script>
<fb:like href="http://mypage.de/myproduct/myproductkey" width="450" height="90" show_faces="false"></fb:like>
</div>

结果是不一致的:大多数情况下它是有效的,但有时我会得到这样的错误:

未能提供有效的管理人员列表。您需要使用\"fb:app_id\“元标记或使用\"fb:admins\”元标记来指定由逗号分隔的Facebook用户列表。

这个错误没有任何意义,因为当我稍后调用该页或其他人调用该页时,它再次工作。知道这里出了什么问题吗。

编辑

我用这些元标签更新了网站

代码语言:javascript
复制
<meta property="fb:admins" content="xxx"/>
<meta property="fb:app_id" content="xxx"/>

我重新检查了https://graph.facebook.com/xxx上的I

但有时我还是会犯错误。新的错误是:

在"fb:app_id“元标记中指定的应用程序ID "xxx”无效。

但大多数情况下,每件事都是有效的。有没有人知道如何解决这个问题?

编辑1

我们的站点使用负载均衡器,并有许多外部脚本(E-跟踪器和其他跟踪解决方案)。

编辑2

我们使用LINT https://developers.facebook.com/tools/lint/检查页面。

它会给出一个错误(无效的app_id ),有时返回为有效。但是元标记中的app-id总是被正确地解析,并且它是有效的app-id。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-14 17:07:07

事实证明,造成这种不一致行为的原因是负载平衡器。我们解除负载平衡和皮棉总是显示出一致的结果。

我不知道负载平衡发生了什么变化。元标签是相似的。

我用了管理员- metatag。我不需要使用app-id标签。规范中就是这样写的。

票数 3
EN

Stack Overflow用户

发布于 2011-02-11 16:55:13

Facebook类插件在使用开放式图形元标记时需要6个属性:

  • og:title - entity.
  • og:type的标题-实体的类型。您必须从开放图形types.
  • og:image列表中选择一个类型--表示该实体的图像的URL。图像必须至少50像素乘50像素。正方形图片工作得最好,但你可以使用的图像的三倍,他们是tall.
  • og:url -代表实体的页面的规范,永久的网址。当你使用开放图形标签时,类似的按钮会发布一个链接到og: code.
  • og:site_name,而不是类似按钮"IMDb".
  • fb:admins中的URL --这是你的站点的人类可读的名称,例如,“IMDb”.
  • fb:adminsfb:app_id --页面管理员的Facebook ID或Facebook平台应用程序ID的逗号分隔的列表。至少,只包括您自己的Facebook ID.

因此,只需添加您的facebook ID:

代码语言:javascript
复制
<meta property="fb:admins" content="your_FB_ID"/>
票数 4
EN

Stack Overflow用户

发布于 2011-11-01 16:33:19

我花了几个小时在这该死的按钮上,但它终于为我工作了!我添加了admin_id和app_id属性,它仍然标记相同的错误。

这是一个检查列表,以确保您有您需要的东西。

1)你的医生类型可能是错的。我不记得我是从哪里得到这些信息的,但是用这个代替:

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

2)需要导入XML名称空间。将HTML标记更改为如下所示:

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml">

我在我的网站上使用了HTML5脚本。这是一份复制件意大利面供你参考。

代码语言:javascript
复制
<?php $current_url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; ?>
<div id="fb-root"></div>
<script>(function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=YOUR_APP_ID";
        fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-like" data-href="<?php echo $current_url; ?>" data-send="false" data-layout="button_count" data-width="80" data-show-faces="false"></div>

而且,传播需要几分钟。我等了15分钟突然..。啊,真灵。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4970560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档