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

Mar*_*ood 6 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>
Run Code Online (Sandbox Code Playgroud)

然后我再往下走了

<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>
Run Code Online (Sandbox Code Playgroud)

(重要的网址和号码改为保护无辜者)

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

更新:

所以澄清一下:

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

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

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

Mar*_*ood 2

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

您需要将外部页面注册为 Facebook 应用程序。您可以在这里执行此操作

https://developers.facebook.com/apps

并创建一个新应用程序。您需要指定您想使用该应用程序执行什么操作,我发现最简单的方法是说我想使用 Facebook 登录(请注意,您的网站上不需要存在此功能,您只需要为 Facebook 指定)。您将外部网站 URL 添加到“网站 URL”中的“登录 Facebook”选项下,瞧,您的外部网站 URL 上就有了一个 Facebook 应用程序。然后你还有一个应用程序 ID。

所以当你去

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

要获取代码片段,请使用刚刚创建的 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>
Run Code Online (Sandbox Code Playgroud)

<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>
Run Code Online (Sandbox Code Playgroud)

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

希望这对其他人有帮助!