使用Facebook C# SDK开发facebook web app(入门及一些资源)
近期参与了一些开发facebook相关应用的项目,由于国内访问困难,相关资料查找及测试都比较困难,起初只做一些简单的调用,比如要从手机上打开facebook的发送消息的页面,并把对应的参数传递过去。这个本应该是个很简单的工作,但由于我们对其并不熟悉,相关资料都查过好多。本想咨询做过facebook相关项目开发的iphone团队,可对方使用的是ios上的一个sdk,至于要打开哪个页面,就不知道了。当然,后来这些问题都解决了,我上一篇文章中有对具体方法的描述,但感觉就像一个外行在做开发,我觉得个人站长都应该对此很明白(这些内容甚至不需要使用facebook的api)。 现在另一个项目是开发facebook上面的web app,开发web app需要注册成为facebook开发者,这个很简单,进入 https://developers.facebook.com/ 网站自己注册就可以了,如果不是开发者,会提示要注册激活,美国人可以直接绑定手机号码激活,我们只好使用双币信用卡激活了,反正标着visa和万事达卡的信用卡都可以激活(我用了一个即将到期的万事达卡,现在还不知道到期后会不会让重新激活),激活并不会收费,放心激活就行了。 入门级javascript sdk: 注册过程不详细写了,很简单,需要注意的是: 1、website项目中的站点url和domain两个项目是不需要http://开头的;而app on facebook的canvas URL,是需要写http的。而且这一段是实际上从facebook打开这个app时,嵌入的iframe的地址。 2、如果本机测试,可以直接使用localhost作为地址,真正上线的时候记得改回来就行。也可以用改host文件的方法随便指定一个域名,加端口访问也没问题,就是不能用ip地址,提交通不过。 注册好了,就开始开发吧,我们首先不使用C#的sdk,直接使用facebook提供的javascript api: 1、创建一个静态页面,引入脚本 http://connect.facebook.net/en_US/all.js 除此之外,还要引用jquery,写脚本方便嘛; 2、另外需要在页面上方这么一个div: 如果不放,就会脚本报错。放哪儿都行,也不显示。但是要放在fb初始话的脚本前面。 3、写段脚本吧,这里我们有个登录按钮: FB.init({ appId: ‘{这里是appid}’, status: true, cookie: true, xfbml: true }); $(“#FBLogin”).click(function () { FB.login(function (response) { if (response.session) { // 登录成功 window.location = ‘about.aspx’ } else { // } }, { perms: “publish_stream” }); }); 这里首先初始化了fb对象,需要appid,它在创建时自动生成。第二个呢注册了一个登录按钮的点击事件,点击后直接调用FB封装好的login方法,第一个参数是回调函数,第二个参数是一个json对象,这里注明了该app的访问权限是publish_stream,差不多是最小权限了吧。 所有权限的资料和其他api的资料可以直接访问以下地址查找: https://developers.facebook.com/docs/ 刚入个门,其实后面的对照文档中的,就都可以了,比如fql: FB.api({ method: ‘fql.query’, query: ‘SELECT name, pic FROM profile WHERE id=’ + uid