Web前端工程师在Facebook API开发中常见问题汇总

 

对于一个熟练的PHP程序员或者JAVA Guru,开发一个Facebook App可能还是很容易的,毕竟Demo文档非常齐全。然而,对于同样渴望开发优秀App的前端工程师,入门的门槛可能还是要高一些。好在Facebook 为我们提供了强大的文档,更好在,我,Aw,也是一名关注Web前端技术的开发者,归纳总结了一些个人的经验与大家分享:)

  1. 如何上手
    首先,我建议使用PHP的开发方式。没错,既然你是一个对服务器端编程一点都 不懂的前端工程师,为什么要去花时间折腾文档和Demo较少的其他服务器端语言呢。我并不是PHP的“粉丝”,但范例最多、配置最快并且有 Facebook官方支持的,似乎只有PHP了。
    然后去官方看这些内容,非常详细(但不太容易找到):
    App所具备的一些要素
    手把手叫你开发一个App
  2. Callback到底是什么
    Callback URL和ActionScript中的Call Back函数还是不太一样的。
    CallBack URL说白了,就是你自己的服务器的一个URL,比如,我的awflasher.com/someurl,在这个URL上,输出一些“相关内容”给Facebook的Canvas来进行渲染。关于这一套流程,强烈建议看这篇 (翻到下面),也是在Wiki里面藏的特别深很难找到的:这么重要的问题,居然藏在一个“Random Questions”里面。也可以看这张“图”
  3.                            +------------------+
    | BROWSER |
    | |
    | +-------------+|
    | |Application ||
    | |Canvas ||
    | | ||
    | | ||
    | +-------------+|
    | |
    +---+----------+---+
    | ^
    1) Browser makes | | 5) Facebook Renders FBML to
    request v | HTML
    +-----+----------+-----+
    | FACEBOOK SERVER |
    +-------+ |
    | | |
    | | |
    | | +<-------------+
    | | | |
    | | | |
    | | | |
    | | | |
    | | | 4) App Server
    2) FB Server Calls | Returns FBML
    out to App Server---------+-----------+ |
    | ^ |
    | | 3) App calls FB API |
    | v |
    | +---------+------------+ |
    | | YOUR APP SERVER | |
    | | | |
    | | | |
    | | | |
    +------->+ 2.5) App server +-------------+
    | composes API |
    | calls |
    | |
    | 3.5) App server |
    | generates FBML |
    | from API results
    +----------------------+
  4. 官方提供的PHP client包存在的一些细节问题

    我到现在也不知道官方提供了多少个PHP版本。似乎在Developer的App页面(简写为:apps.fb.com/dev和dev.fb.com)和Developers的Wiki页面有许多不同的范例。这其中有很多不规范的地方,例如:

    把<?php echo getFriends();?>写为<?=getFriends()=?>之类的“简写”。这对于刚配置好的PHP环境实在是让人无从调试(因为你想不到官方提供的代码可能有问题)

  5. PHP开发中常遇到的问题

    前端开发者的思路似乎更“粗糙”一些,我就有这个毛病。我在开发Facebook App的时候经常犯的错误就是把HTML和PHP内容混到一起了,例如:

    <?php echo ‘<p>test’.$somevar.’</p>’;

    <br>

    ?>

    这样的写法乍一看没问题,但实际上中间的<br>是PHP根本看不懂的。在大多数配置下,这个错误根本看不到(不像Flash那样会有 一个Compliler帮你报错),遇到这种情况,如果是少量HTML,就给它echo出来;否则,就将PHP标签结束再输出,例如:

    <?php echo ‘<p>test’.$somevar.’</p>’;

    ?><br><?php … ?>

  6. FBML的设置

    最关键的setFBML是把FBML显示到用户个人主页的函数。在使用这个函数的时候,一定要确认用户已经“同意改变profile box”,这是安装App的几条协议中的一条。如果你自己调试期间不希望被别人看到而当时没选中,那么很可能是导致你多次无法看到相关内容出现的主要原 因。

此文仅是抛砖引玉之文,因为也许我遇到的错误其他人又很容易地解决了,欢迎补充,我会保留链接。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值