Facebook应用程序开发101


Facebook application development 101

我正忙着创建我的第一个Facebook应用程序,虽然我有PHP和Javascript的经验,我很难理解如何建立一个Facebook应用程序的逻辑工作

从最基本的我明白我需要:

  1. 设置一些opengraph项目,这些项目看起来只是一些meta标签。
  2. 我需要包含一个脚本,如下所示,就在我的body标签之后:
  3. 我必须运行一个脚本:就在下面
  4. 我的HTML需要下面列出的一些代码。
  5. 我可以包含Facebook PHP库。

1) opengraph元标签的目的是什么?这对我的申请有影响吗?

2)脚本:
<!-- Load the Facebook SDK -->
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
      // IS IT FAIR TO ASSUME THIS AREA BELOW CREATES THE FACEBOOK OBJECT? 
      window.fbAsyncInit = function() {
        FB.init({
          appId      : 'APP ID', // App ID
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          oauth      : true, // enable OAuth 2.0
          xfbml      : true  // parse XFBML
        });
      };
      // WHAT DOES THIS DO?
      (function(d){
         var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
         d.getElementsByTagName('head')[0].appendChild(js);
       }(document));
    </script>

3)脚本(也在上面)。这是做什么的?我是否可以假设它的工作原理与jQuery框架类似,并且需要我加载上面的代码?

<script src="http://connect.facebook.net/en_US/all.js"></script>

4)我的HTML标签更改为下面的代码。这是什么,为什么需要?

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:og="http://ogp.me/ns#"
  xmlns:fb="https://www.facebook.com/2008/fbml">

5)虽然我理解包含PHP库背后的逻辑,Javascript和PHP库之间的区别是什么?它能有效地做同样的事情吗?

抱歉愚蠢的问题,但在现实中,我发现Facebook不是很用户友好的人试图进入应用程序开发,因为他们的文档感觉"分散",而不是真正的最新?

1 - open graph协议实际上在文档中有很好的解释。那里的数据是facebook将为你的页面索引,所以当有人与页面交互时显示的内容(例如点赞)

2 -在空格中你写了'//WHAT DOES THIS DO?,你可以在facebook API加载完成后立即运行你想要的方法和功能。所以你可能想要隐藏你所有的facebook部门等,直到这一点,或者采取一些行动,以获得用户的登录状态,只要api准备好了。还需要注意的是,你在上面的代码中不需要这个位:

<script src="http://connect.facebook.net/en_US/all.js"></script>

这已经在你的'(function(d){…在底部咬了一口。查看加载js api的文档。

3是加载facebook js api的script标签

4—这是您需要告诉页面的名称空间,以便它读取og元数据。同样,这在开放图形协议文档

中有很好的解释。

5 - JS是客户端。