我最近创建了一个Facebook应用程序,用于将域名的网页与Facebook集成。
但我无法弄清楚为什么管理员链接在登录fb时不会在网页上显示为管理员。
阅读开发人员文档可能会有点混乱,因为似乎有各种方法来实现每个网页上所需的代码。很难确定哪个命名空间与加载SDK的方式和使用哪种标记方法匹配。
我正在尝试为HTML5执行此操作。
<!DOCTYPE HTML>
<!-- Whilst I have found many html namespace modifications for XFBML methods I did not see any requirements for html5 an d the following method -->
<html>
<!-- The head og namespace is taken from the fb developers app > open graph > object types > get code link -->
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# video: http://ogp.me/ns/video#">
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- The meta properties are also taken from the fb developers app > open graph > object types > get code link -->
<meta property="fb:app_id" content="APP ID NUMBER"/>
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="http://www.domain.com/page.html"/>
<meta property="og:title" content="TITLE"/>
<meta property="og:description" content="DESCRIPTION."/>
<meta property="og:image" content="http://www.domain.com/og_thumb.jpg" />
<!-- The meta property here was not included with the above but is required according to https://developers.facebook.com/docs/reference/plugins/like/ -->
<meta property="og:site_name" content="SITE NAME" />
</head>
<body>
<!-- The following is the code given when using the "like" code generator from this page https://developers.facebook.com/docs/reference/plugins/like/ and selecting the "HTML5" option -->
<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=APP ID NUMBER";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.domain.com/page.html" data-send="true" data-layout="button_count" data-width="0" data-show-faces="false" data-font="arial"></div>
</body>
</html>
虽然以fb应用的管理员用户身份登录,但我可以通过查找页面名称/ ID来访问该页面的管理员,并将其附加到如下所示的网址: http://www.facebook.com/pages/TITLE-OF-PAGE/GRAPH-ID-NUMBER
我注意到这个似乎有关的错误: https://developers.facebook.com/bugs/178579068908181/
据我所知,在使用fb:admin时,管理员必须“喜欢”一个页面才能看到管理员链接。
但是我假设在使用fb:app_id时,没有必要“喜欢”页面。
启用网页管理员链接时我缺少什么?
答案 0 :(得分:0)
您应该在OG标记中同时使用fb:app_id和fb:admins。不要忘记使用调试工具再次刮擦页面,以便facebook知道细节有变化。管理员链接仅显示页面上是否有fb:admin。
您不必喜欢该页面,您可以随时等待用户喜欢该页面。一旦有足够的喜欢,Facebook就会创建相关的页面,并且管理链接将正确显示。