【问题标题】:Can I use facepile with a Facebook Page?我可以在 Facebook 页面上使用 facepile 吗?
【发布时间】:2013-12-15 23:27:08
【问题描述】:

所以我有一个 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 它需要从哪个页面获得喜欢。从下面的 cmets 看来,您是在 data-href 中执行此操作的。

  1. 如果是这样,那么我应该在 app_id 中添加什么?

  2. 是否需要将外部页面注册为 facebook 应用程序才能获取应用程序 ID?

【问题讨论】:

  • 代码是在谈论一个应用程序,因为 Facebook 想知道哪个应用程序正在使用 SDK 的哪些功能。您需要提及您的页面的唯一地方是在插件的上下文中。您已经在插件标记的 data-href 属性中拥有它。
  • 其次,你并不是真的在这里问问题。您也没有说有任何问题:P 插件工作吗?它在显示什么?
  • 所以我认为你的意思是我需要将我的外部页面注册为 facebook 应用程序,然后在我从中获取此代码的设置向导中使用该注册的应用程序?然后在标记 sn-p 中,我引用了我的 Facebook 页面,它应该可以正常工作吗?
  • 请查看更新以获得进一步说明。这并不是真正的“这是一个错误”问题,它更多的是“文档说我应该采取的步骤对我来说没有意义,而且我很确定我错过了一些重要的东西”。结合facebook告诉我来这里寻求支持:(

标签: facebook facebook-page facepile


【解决方案1】:

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

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

https://developers.facebook.com/apps

并创建一个新应用。你需要指定你想用这个应用程序做什么,我发现说我想用 Facebook 登录最简单(注意这个功能不需要在你的网站上存在,你只需要为 FaceBook 指定)。您在“站点 URL”中的“登录到 Facebook”选项下添加您的外部站点 URL,瞧,您的外部网站 url 上有一个 facebook 应用程序。然后,您还有一个应用 ID。

所以当你去

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

要获取代码 sn-ps,您使用刚刚创建的 Facebook 应用程序(单击“获取代码”按钮后会出现一个下拉框,或者您可以在对话框中输入数字),“URL”为您想要点赞的 Facebook 主页的网址。如果您单击 Get Code 按钮,您将获得一些代码 sn-ps,如下所示:

<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 应该可以工作!

希望这对其他人有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多