2010-09-09 91 views
1

为Facebook开发一个Flash测验应用程序,我应该选择哪种SDK(JS/PHP/AS3)和Facebook API(Graph/old rest)?Flash,Facebook和权限 - JS,PHP或AS3 SDK

也请回答如何以下将使用上面的首选解决方案来完成,为什么这简化了应用程序的开发:

  1. 进行身份验证的应用程序页面上的用户
  2. 请求允许发布到流
  3. 申请从应用程序内发布到流式传输的许可(是否可以或有必要事先授予发布许可,即当用户确定应用程序时?)
  4. 存储测验结果在数据库

(是的,我读过Facebook的开发者文档,并仍然认为许多#1的用户可以有同样的问题 - 部分是因为这些做法,随着时间的推移变化不大)

+0

另外:你会推荐 - 并且是在所有可能的 - 开发一个页面,而不是作为一个单独的应用程序的测试吗? – dani 2010-09-09 11:35:26

回答

1

基本上可以做到两件事:

  1. 使用半官方的AS3 API(基于旧的rest API)和Facebook连接。这可以为您节省一些时间,虽然它很麻烦(方法很奇怪,例子很少工作,Facebook Connect随机中断,本地测试是一个婊子)。

  2. 使用新的Graph API和OAuth获取权限。从技术上讲,这是最好的,OAuth比旧的Facebook Connect好得多(意思不是那么疯狂),但由于它是新的,所以没有明确的AS3 API。

我个人推荐选项2 - 这是一个更优雅的解决方案。但是,这意味着您可能需要深入研究,将自己的AS3图层构建到Graph API(真的不是一个大问题 - API很简单),或者使用某些第三方(可能未完成/不完整),并且了解OAuth if你从未使用它。

构建自己的框架的好处是您可以更好地理解Graph/OAuth的工作方式,以便将来可以使用它。我知道这可能听起来很奇怪,但Flash网站/应用程序必须使用对其有充分理解的Facebook API以及您拥有低级控制权的Facebook框架非常常见,这是一项重要的资产。过去我不得不在Facebook Connect上使用第三方的AS3 API,这真是地狱;我最近开始为自己的目的构建自己的应用程序(因此它不涵盖API所能做的所有事情),而且这是一个很好的解决方案。

关于问题3 - 可以随时请求高级权限 - 无论是当用户第一次允许应用程序访问他/她的数据,还是以后当您需要使用某些高级功能(如发布到其流中)时。您还可以检查用户是否已经为此授予了权限。

另外,对于您的其他问题 - 无论您构建的是什么(无论是单独的页面,应用程序还是选项卡),您都需要创建一个“应用程序”。除非你使用公共API(如阅读公共页面流);那么它只是没有验证的Graph API,因此没有App密钥。