我可以将facepile与Facebook页面一起使用吗?

时间:2013-11-29 18:04:24

标签: facebook facebook-page facepile

所以我有一个Facebook页面设置。我有一个外部网站,我想使用facepile。这个想法是,当有人来到我的外部网站时,他们可以看到他们的哪些Facebook好友“喜欢”了Facebook页面。

我去了https://developers.facebook.com/docs/plugins/facepile/并且说

  

Facepile插件显示人物的Facebook个人资料照片   与您的Facebook页面或应用程序相关联。

所以看起来我可以用我的Facebook页面来做。

我找到了以下代码

    <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>

然后再往下我

<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>

(重要网址和数字已更改,以保护无辜者)

正如您所看到的,上面的代码总是在讨论Facebook应用而不是网页。如果有人能告诉我我做错了什么,我会很高兴的!

更新:

所以澄清一下:

我想要做的是让Facepile显示有多少人喜欢我在外部网站上的Facebook页面。在我看来,我插入到外部页面的代码中的某些东西需要告诉Facepile它需要从哪个页面获取喜欢的内容。从下面的评论看来,你似乎是在data-href中做到了这一点。

  1. 如果是这样,那么我在app_id中放了什么?

  2. 我是否需要将外部网页注册为Facebook应用以获取应用ID?

1 个答案:

答案 0 :(得分:2)

所以答案是肯定的。您可以将FacePile与FaceBook页面一起使用。但是你需要先做其他事情。

您需要将外部页面注册为FaceBook应用程序。你可以在这里做到这一点

https://developers.facebook.com/apps

并创建一个新应用。您需要指定您想要对应用程序执行的操作,我发现最简单的说我想使用Facebook登录(请注意,此功能不需要存在于您的网站上,您只需要为FaceBook指定)。您可以在“站点URL”中的“登录到Facebook”选项下添加外部站点URL,并且您在外部网站URL上有一个Facebook应用程序。您还有一个应用程序ID。

所以当你去

https://developers.facebook.com/docs/plugins/facepile/

获取您刚刚创建的Facebook应用程序的代码片段(单击“获取代码”按钮后有一个下拉框,或者您可以在对话框中输入数字),“URL”是网址你喜欢的Facebook页面。如果单击“获取代码”按钮,您将获得一些类似以下内容的代码片段:

<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>

<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>

将它们放在外部页面上(在替换值之后),facepile应该可以工作!

希望这有助于其他人!