2008年10月19日星期日

facebook的iframe模式和fbml模式

iframe canvas如何工作的:
当一个用户访问http://apps.facebook.com/yourapp/somepage的时候,这个iframe可以这样访问,http://www.yourdomain.com/callbackurl/somepage?fb_sig_in_iframe=1&fb_sig_locale=en_US&fb_sig_time=1221720862.9318&fb_sig_api_key=48102584111d14a9c2e41dd28ea637d7&fb_sig=e656792696ae913c1fc34eeff2d79f75

fb_sig系列的参数是facebook加给应用程序的一些需要用到的参数,在facebook app中有时候你需要用到一些社交性的内容比如姓名和个人照片,这些需要到facebook拿到的数据,这时候你就不能使用fbml而使用facebook的api并且你只能自己渲染它。













那FBML canvas又是怎么工作的的呢?
当一个用户访问http://apps.facebook.com/yourapp/canvaspage的时候,facebook并不立即返回一个响应,而是发送一个请求至你的app所在的服务器,他会发送一个HTTP POST到你的地址比如http://www.yourserver.com/callbackurl/canvaspage,fb_sig 参数就会放在POST里面,facebook希望得到的返回包含一些FBML,然后它把这些FBML解释成html发到用户的浏览器。这样,如果你需要显示一些社交内容比如名字和头像的话,就只需要使用像 and 这样的标签就可以了,不过如果你要得到的是像生日这类的数据,你还是需要使用api去获取。

没有评论: