如何在不使用Django的情况下将Facebook Connect与Google App Engine一起使用?
我正在使用谷歌应用引擎(Google App Engine)进行开发,想把Facebook Connect集成到我的网站上,用来注册和登录用户。之前我都是用谷歌的账户API来处理用户注册的。现在我想用谷歌的webapp框架,而不是Django,但发现关于Facebook Connect和谷歌应用引擎的资料大多都是针对Django的。我尝试过使用pyfacebook和miniFB,这些可以在Facebook文档中找到,但在webapp框架下一直没能搞定。我现在有点看不清楚整体思路,不知道该怎么做才能让它工作。你能给我什么建议,或者我应该考虑哪些其他的方面?我是不是应该更关注使用JavaScript而不是客户端库?
3 个回答
大部分的 Facebook Connect(以前叫这个,现在叫“Facebook for Websites”)都是用 Javascript 写的。你真正需要的服务器端东西(假设你想把它整合到自己的用户系统里)就是验证用户的 Facebook 登录。使用 minifb 或 pyfacebook 这两个工具就可以完成这个任务。
这其实不是Facebook Connect,但至少它涉及到网页应用的FBML处理:http://github.com/WorldMaker/pyfacebook/.../facebook/webappfb.py
这个人发了一篇帖子,讨论了如何通过webapp框架在Google AppEngine上使用Facebook Connect。(这篇帖子在Connect认证论坛中置顶,已经有8515次浏览。)
这里有一个5月15日的例子:http://myzope.kedai.com.my/blogs/kedai/236。这个例子是基于一个留言簿的网页应用,但用Facebook来进行身份验证。作者提到,“在不同的类中实例化pyfacebook时有代码重复”,并且应该有更好的方法来处理这个问题。
Django听起来集成得更好。四个月前在Slideshare上有一个演讲,标题是《Facebook如何连接Google App Engine》(这是Robert Mao在Facebook Garage Ireland的演讲)。看起来是个有趣的演讲,不过目前还没有发布视频。在第13张幻灯片中提到了以下工具,包括Django:Google App Engine SDK、Eclipse、PyDev、Django、App Engine Patch和pyFacebook。给出的示例应用是:http://github.com/mave99a/fb-guinness/
如果你只是想要身份验证,这个食谱建议使用RPXnow.com来处理Google、AOL、Yahoo、MySpace、Facebook和OpenID的登录,适用于Webapp框架。虽然乍一看似乎没有使用Connect,但GAE网站上有一篇贡献的教程文章,讲述如何用Best Buy Remix创建一个Facebook应用。