2009

Oct

29

FaceBook插件开发
文章分类:PHP+MySQL

       最近公司在开发Facebook插件,在网上找相关资料的时候发现了一篇不错的文章,转载过来收藏着,日后备用。
FaceBook迅速风靡的原因之一就是他的数据开放模式,也就是允许第三方开发网站插件来共享FB站点里的用户数据。这种全新的运作思路使FB目前达到 数十亿美元的价值。 有关FB的介绍就不多说了,本文我们主要探讨下如何为FB开发一个简单的插件,目前FB站点上已经有1600多个插件,最热门的插件已经有1千多万用户, 这也给插件开发方带来了巨大的利益。
有关插件开发的教程在FB官方也有 地址是 http://developers.facebook.com/get_started.php
!vAs,a-v_NA&[#Ikg0有兴趣的朋友可以自己看 :)
开发模式简介:
LUPA开源社区2s"epr8e_
FB提供了一些列的API以及开发框架供用户在FB平台实现自己的功能。允许用户使用PHP5、PHP4、Ruby、Python、JAVA、.NET等各种语言进行开发。官方推荐的是用PHP5。
#Cq]N6k�I0要 创建一个有效的应用程序需要在FB官方登记注册,填写插件的相关信息,callback URL等。我们要明确这个插件的具体执行程序是放在用户自己的服务器上的(如果没PHP5的空间,你可以在LUPA免费申请一个)。而用户在使用集成在 FB站点里的插件时,是由FB系统到插件开发者制定的网站地址去获取执行结果或者界面内容。
建立一个HELLO WORLD插件:

/b;y]3l M eL8J0   1. 进入开发者首页 http://developers.facebook.com/
x0^D~*Dl0l0   2. 点击 'Get Started'
M Aq$af�`)i@R0   3. 点击 'Add Facebook Developer Application'LUPA开源社区%E8hj�@ssWi
   4. 可以看到页面里有 'Developer' 字样。LUPA开源社区`Z_j2t.]!Dju8g
   5. 点击按钮 'Setup New Application'
un*_ ]q4u]0   6. 现在来完成表单的填写:LUPA开源社区 |9E k2LQ {/HN
         1. Application Name: 这是我们这个插件的名字,我用的是sanooltest,大家也可以通过 http://www.lupaworld.com/public/sanool/fb/ 来添加我刚做的测试插件。
2E(Qc5\7wD9YI0         2.勾选同意相关协议的按钮。FB在这方面做的很严谨,包括每次上传图片都需要表明你的态度。
g!@y&OY(p [G]W0         3. 点击 Optional Fields 链接,之后页面会出现更多的填写内容。
#wx-i*A]~"uB0         4. Support E-mail: 就是你自己的邮箱。
3[ u6Q!\ O0         5. Callback Url: 回调页面地址,也就是你打算把开发好的插件上传到哪里,我这里填写的就是 http://www.lupaworld.com/public/sanool/fb/
%JS2KMy0OP @q0         6. Canvas Page URL: http://apps.facebook.com/: 我填写的是sanooltest,你可以取一个属于自己的名字。
5rV+VX:S;H0         7. Use FBML: 默认即可。LUPA开源社区"qZ:nC$S py[
         8. Application Type:  默认即可,我们目前开发的还好四website类型的。
,zb_"Kd0         9. Can your application be added to Facebook: 选择 YESLUPA开源社区*b/x�Eal
        10. TOS URL: 留空LUPA开源社区vF#J0q"vf0k\M
        11. Post-Add Url: 我们使用 http://apps.facebook.com/sanooltest/ , 请你将之前设定的Canvas Page URL的内容替换这里的sanooltestLUPA开源社区NG&x)L$uM ~!f$T_0`
        12. Default FBML: 输入 hello world
H/V+`.p'ZIh4[6rx0        13. 其他字段可以不用处理。
B9d+qEz0        14. Side Nav Url: 这个左侧导航菜单的地址,我们使用 http://apps.facebook.com/sanooltest/ , 请你将之前设定的Canvas Page URL的内容替换这里的sanooltestLUPA开源社区$wh7` d1s+B1`~Y
        15. 其他的不用处理。
g$b+R5G:?0   7. 点击 'Submit' 按钮。LUPA开源社区&| uh!D#}O,b }
   8. 进入 'My Applications' 页面,你可以看到该插件已经常见,你可以对插件属性继续修改,并可以看到一个 API Key 和 Secret。这两个字符串在我们的插件页面中要用到。
4s|&@ e.G[0   9. 找到一个PHP5的网站空间。LUPA开源社区LvN L"A8L I3L5H{
  10. 配置FB开发环境,如果你是用linux的,那逐步执行以下脚本。LUPA开源社区a)]DUwO
      wget http://developers.facebook.com/clientlibs/facebook-platform.tar.gz
M|4i2@1C0      tar zxvf facebook-platform.tar.gzLUPA开源社区7H9ew!usq kJ,_Eb
      cp facebook-platform/client/facebook.php .LUPA开源社区 e.WH~,qd7N VR}&v
      cp facebook-platform/client/facebookapi_php5_restlib.php .LUPA开源社区$L4BC1U.e0U
      rm -rf facebook-platform.tar.gz facebook-platformLUPA开源社区9A8d7y e bwKl
  11. 创建 'appinclude.php' 文件,这个是必须的,让FB知道这个插件的合法性。源码如下:
ZjI#Wne0      <?php
3k z(`5T@!i@.sS0      require_once 'facebook.php';LUPA开源社区7A!H3U*} k6N$@
      $appapikey = '[your api_key]';LUPA开源社区8R`3?N"a]
      $appsecret = '[your secret]';LUPA开源社区$nAf,MGb ux.}I F A
      $facebook = new Facebook($appapikey, $appsecret);LUPA开源社区8W:w*Ihl ]3i5b,n
      $user = $facebook->require_login();LUPA开源社区�I|%R6oNf
      //[todo: change the following url to your callback url]
f&}P6y~5t9S0      $appcallbackurl = 'http://tperry256.dreamhost.com/f8/tutorialapp/';  LUPA开源社区c~#s`~9Y#B
      //catch the exception that gets thrown if the cookie has an invalid session_key in it      try {
+^$F%E)eOpl0        if (!$facebook->api_client->users_isAppAdded()) {
0\:I5H~1_%y ~d4h9n0          $facebook->redirect($facebook->get_add_url());LUPA开源社区-E*mv-Y q/]Q8T
        }LUPA开源社区TiL D�yu!Q�P
      } catch (Exception $ex) {
%my0zD,Z}w0        //this will clear cookies for your application and redirect them to a login promptLUPA开源社区PLd:Z;@NR1I C
        $facebook->set_user(null, null);LUPA开源社区5b]:Pq s)v
        $facebook->redirect($appcallbackurl);
s%l/q0s~'i,^0      }LUPA开源社区4Fbq&tS-F`mOp
      ?>
L*M.Xj#M0F K0  12.用刚才得到的字符串去替换源码里的 '[your app_key]' 和 '[your secret]'。 另外再将 appcallbackurl 替换成插件地址。我用的还是 http://www.lupaworld.com/public/sanool/fb/
Ao)` uUe)eI,w'CEh0  13.创建首页 'index.php'。内容如下:
      <?phpLUPA开源社区?;| c| d F
      require_once 'appinclude.php';
Ol N5~H~7yA0      echo "<p>hello world</p>";
!E�cA/]5gN L0      ?>
4br9{BW \x0  14. 把facebook.php facebookapi_php5_restlib.php appinclude.php index.php四个文件上传到网页空间,确保之前填写的CALLBACK URL能正确访问到index.php
W[^|?;U0  15. 在浏览器里打开 CALLBACK URL,FB会引导你进入插件添加过程,到此为止整个开发过程结束。

相关文章

暂无相关文章!

看看他们的脚印

闲言碎语

晚上和爸妈吃个饭。 (2月6日)

装修好累哟 (2月4日)

《斯巴达克斯:复仇》 (2月3日)

文章分类

最近文章

iOS开发之回调delegate的方法...

iOS开发之使用AES加密(兼容Obj...

事情好多哦

iOS开发之获取本机IP地址的方法

简单记录PC上安装苹果系统

最近评论

日志归档

友情链接

其它功能

随机标签