我可以在Facebook页面上使用facepile吗?
所以我有一个Facebook页面设置。我有一个外部网站,我想在上面使用facepile。这个想法是,当有人访问我的外部网站时,他们可以看到他们的Facebook朋友中有谁“喜欢”了Facebook页面 我去了这里,上面写着 Facepile插件显示Facebook个人资料照片 已连接到您的Facebook页面或应用程序 看来我可以用我的Facebook页面来做 我找到了下面的代码我可以在Facebook页面上使用facepile吗?,facebook,facebook-page,facepile,Facebook,Facebook Page,Facepile,所以我有一个Facebook页面设置。我有一个外部网站,我想在上面使用facepile。这个想法是,当有人访问我的外部网站时,他们可以看到他们的Facebook朋友中有谁“喜欢”了Facebook页面 我去了这里,上面写着 Facepile插件显示Facebook个人资料照片 已连接到您的Facebook页面或应用程序 看来我可以用我的Facebook页面来做 我找到了下面的代码 <script> window.fbAsyncInit = function() {
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : '12345667809845', // App ID from the app dashboard
status : true, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
// Additional initialization code such as adding Event Listeners goes here
};
// Load the SDK asynchronously
(function(){
// If we've already installed the SDK, we're done
if (document.getElementById('facebook-jssdk')) {return;}
// Get the first script element, which we'll use to find the parent node
var firstScriptElement = document.getElementsByTagName('script')[0];
// Create a new script element and set its id
var facebookJS = document.createElement('script');
facebookJS.id = 'facebook-jssdk';
// Set the new script's source to the source of the Facebook JS SDK
facebookJS.src = '//connect.facebook.net/en_US/all.js';
// Insert the Facebook JS SDK into the DOM
firstScriptElement.parentNode.insertBefore(facebookJS, firstScriptElement);
}());
</script>
window.fbAsyninit=函数(){
//初始化FBJSSDK
FB.init({
appId:'1234566709845',//应用程序仪表板中的应用程序ID
状态:true,//检查Facebook登录状态
xfbml:true//在页面上查找社交插件
});
//附加的初始化代码(如添加事件侦听器)如下所示
};
//异步加载SDK
(功能(){
//如果我们已经安装了SDK,那么就完成了
if(document.getElementById('facebook-jssdk')){return;}
//获取第一个脚本元素,我们将使用它来查找父节点
var firstScriptElement=document.getElementsByTagName('script')[0];
//创建新的脚本元素并设置其id
var facebookJS=document.createElement('script');
facebookJS.id='facebook jssdk';
//将新脚本的源代码设置为Facebook JS SDK的源代码
facebookJS.src='//connect.facebook.net/en_US/all.js';
//将FacebookJSSDK插入DOM
firstScriptElement.parentNode.insertBefore(facebookJS,firstScriptElement);
}());
再往下一点,我有
<div class="fb-facepile" data-app-id='12345667809845' data-href="http://facebook.com/myfacebookpage" data-action="like" data-max-rows="1" data-colorscheme="light" data-size="medium" data-show-count="true"></div>
(重要的URL和数字更改以保护无辜者)
正如你所见,上面的代码总是在谈论Facebook应用程序,而不是页面。如果有人能告诉我我做错了什么,我会很高兴的
更新:
因此,为了澄清:
我想做的是让Facepile在外部网站上显示有多少人喜欢我的Facebook页面。在我看来,我插入到外部页面的代码中的某些内容需要告诉FacePill它需要从哪个页面获得喜欢的内容。从下面的评论来看,您似乎是在data href中这样做的
所以答案是肯定的。您可以将FacePile与FaceBook页面一起使用。但是你需要先做一些其他的事情 您需要将外部页面注册为FaceBook应用程序。你可以在这里做 并创建一个新的应用程序。你需要指定你想用这个应用做什么,我发现说我想用Facebook登录是最简单的(请注意,这个功能不需要存在于你的网站上,你只需要为Facebook指定)。你在“站点URL”中的“登录到Facebook”选项下添加了你的外部站点URL,瞧,你的外部站点URL上有一个Facebook应用程序。然后,您还拥有一个应用程序id 所以当你去 要获取代码片段,您可以使用刚刚创建的Facebook应用程序(单击“获取代码”按钮后会出现一个下拉框,或者您可以在对话框中输入数字),而“URL”是您想要访问的Facebook页面的URL。如果单击“获取代码”按钮,您将获得一些代码片段,如下所示:
<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_US/all.js#xfbml=1&appId=<YOUR_APP_ID_HERE>";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script','facebook-jssdk'));
</script>
(函数(d,s,id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;
js.id=id;
js.src=“//connect.facebook.net/en_US/all.js#xfbml=1&appId=“;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook-jssdk”);
及
把这些放在你的外部页面上(在替换这些值之后),facepile应该可以工作
希望这对其他人有帮助 代码是关于应用程序的,因为Facebook想知道哪个应用程序使用SDK的哪些功能。你唯一需要提到你的页面的地方是在插件的上下文中。在插件标记的
data href
属性中已经有了这一点。您还没有声明存在任何问题:P插件是否正常工作?它显示的是什么?我想你说的是,我需要将我的外部页面注册为facebook应用程序,然后在安装向导中使用该注册应用程序,我从中获取此代码?然后在标记片段中,我引用了我的Facebook页面,它应该都能正常工作?请查看更新以获得进一步的澄清。这不是一个真正的“这里有一个错误”的问题,更多的是一个“文档中说我应该采取的步骤对我来说没有意义,我很确定我错过了一些重要的东西”。加上facebook让我来这里寻求支持:(
<div class="fb-facepile" data-href="http://facebook.com/<YOUR_PAGE_URL_HERE" data-max-rows="1" data-colorscheme="light" data-size="medium" data-show-count="true"></div>