您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

Facebook应用PHP开发新手入门_PHP教程

2024/4/25 4:59:04发布5次查看
前言
老美一直在引领着技术的潮流,就拿开放这事来说吧,也是从google玩到facebook再到twitter,三家公司把开放api玩得不亦乐乎。如果不是开放,估计facebook与twitter也不可能在如此短的时间异军突起,让google与微软毫无反击之力。
如果用一般程序员的眼光来看,facebook核心表不过区区45个,但看似简单并不影响人家的强大,例如wordpress的表也是极少的。这段时间在折腾facebook的app开发,国内的资料本是极少,主要是因为国内无法访问facebook,所以做facebook开发的人很少,资料也自然少了。
知识准备
如果你想做facebook的app开发,首要的知识准备就是翻墙,因为facebook是在墙外的,不要问我为什么,你懂的。然后你还需要一些基础的英文水平,虽然facebook有简单中文,但对于开发都来说,许多东西还是英文的,不过没关系,其实很简单,以我这么弱智的英文都能搞定。
其实facebook支持多种开发语言,包括c#、python、javascript、java等,javascript/php/python及android与iphone的有官方sdk。所以说,你有上述几种语言之一的开发经验,就可以做app开发了,其实我个人觉得,最重要的还是创意+html/css/javascript。基于第三方平台的开发一般都不会是很强大的应用,但毕竟人家2亿的用户不是盖的,随便捡个零头的用户来都吓死你了。
ok,最后总结一下,你需要c#/java/python/javascript的开发经验之一,官方推荐的是php5,实际上都不会太难。最重要的还是基础的网页语言,虽然简单,但却很实用。另外,你可能需要一些简单的sql语句,其实也不会太难。
申请
申请一个facebook的帐号,如果你已经拥有一个帐号,可以忽略此步。
申请开通developer权限,实际developer功能也是作为一个特殊的app放在facebook上,你可以点击这儿,貌似我没有找到入口,点击同意即可。
点击set up new application按钮,这时候facebook会要求你用信用卡或者手机验证,其实只是验证一下你的身份而已,不用担心。
填写程序的基本信息,这个就是你app的名称了,可以随便填写。然后根据提示一步一步往下走即可,在此我不再累述。小提示:程序名称可以和别人一样,但是canvas page不能冲突,其实上facebook的程序是用http://apps.facebook.com/canvaspage/这种方式来访问,所以要求canvas page是全局唯一的,基本上你能想到的好名称都已经被申请了,凑合整一个吧。canvas url是放在你服务器上的地址,因为facebook是可以支持iframe的方式集成的。
到这里你就可以获得一个application key/app id/application secret了,其中app key及app id是在开发中常需要用到验证的。更复杂的设置咱们暂时忽略吧,只是有一处,在advanced中有一个sandbox mode可以选择为enable,因为你在开发过程中可以把程序放到沙箱中,不需要别人看到。
demo
facebook提供的api可以说是非常非常强大,我目前还没有用过人人网与51的api,不知道他们的api是什么样的。facebook的api可以直接写sql语句,当然这个sql语句会经过安全审核的。在写demo之前,我简单介绍一下facebookapi的构成。
facebook的api主要是fql/fbml/graph api/social plugins四大部分组成,其中social plugins主要是提供一些工具给第三方网站,比如说openid登陆和like按钮。而fbml是xhtml的一个变种,假如你使用iframe的方式,可以忽略他们的标记语言,直接自己写就ok了。所以这两种api我暂且不谈,主要来谈谈fql与fbml。
fql实际上就是facebook所提供的sql语句,可以通过fql查询facebook的45个表,基本上和一般的sql语句没什么区别,但是不支持联结查询要,可以支持in查询,根据我的测试大概是这样。
需要注意的是,你所查询的内容一定是在经过授权内的,不是说你随便给个sql语句就可以查到所有用户的资料。fql不允许使用*来查询所有字段,一定要直接写入字段的名称。关于fql的参考资料,请访问这里。
说到授权,我之前也为这个事找了不少的资料,在默认授权的情况下,许多的资料例如用户的e-mail都是null。后来才发现需要经过授权申请,官方提供了一大堆的授权说明,有兴趣的朋友可以访问这里。在javascript中授权就是在fb.login需要加上授权的参数即可,其它开发语言也是大同小异。
而对于graph api,我们可以理解为fql的提炼版,因为很多时候我们可能只需要简单的应用,不需要直接去查sql语句,比如说获取用户的好友,就直接用my/friends就ok了,获取用户的活动,直接使用me/events就可以了。我们可以这样来理解graph api,facebook让所有内容都有一个唯一的编码,不管是活动还是图片、应用程序、用户的profile等,而graph api则可以通过这个唯一的编码访问到这些资料。关于graph api的参考资料,请访问这里。
最后,上一道大餐,把demo代码给整上来吧,我是使用javascript来做这个demo的,你可以选择你自己熟悉的开发语言。这里再说一个小技巧,如果你是选择iframe方式而非fbml,你可以把程序部署到你本机,然后通过修改hosts文件的方式,把你程序的dns指向本地就ok了,好处是不用每次修改都上传到服务器。
html>
head>
metahttp-equiv=content-typecontent=text/html; charset=utf-8>
title>hello worldtitle>
head>
body>
scriptsrc=http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js>
script>
divid=fb-root>div>
scriptsrc=http://connect.facebook.net/en_us/all.js>script>
script>
//用你申请到的api来初始化类库
fb.init({appid: ‘你申请到的application id’});
//获取登陆状态
fb.getloginstatus(handlesessionresponse);
functionhandlesessionresponse(respo
http://www.bkjia.com/phpjc/486114.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/486114.htmltecharticle前言 老美一直在引领着技术的潮流,就拿开放这事来说吧,也是从google玩到facebook再到twitter,三家公司把开放api玩得不亦乐乎。如果不是开...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录