Facebook,Django和Google App Engine

15

我正在Google App Engine上尝试使用app-engine-patch(适用于GAE的Django),并想要编写Facebook应用程序。 是否可以使用PyFacebook及其中间件? 或者是否有其他解决方案?

3个回答

8
我在GAE上运行一个社交网络和Facebook系统,后端使用Python,前端使用Javascript和Flash。我主要使用客户端js库将数据传递回服务器端的数据存储库。这个库是专门为Facebook设计的:http://code.google.com/p/facebookjsapi/
我们这样做有原因。大部分内容都将在自己的网站上运行,在不同的社交网络和小部件中的iframe中。但总体来说,这种方法非常有效。这很好,因为我们可以随时更换后端,甚至在多个平台上运行,因为它还使用了Python rest GAE库,但任何后端都可以与此设置一起使用。

6
将PyFacebook安装目录中的Facebook目录添加到app-engine-patch应用程序中,可以在settings.py中的MIDDLEWARE_CLASSES中添加'facebook.djangofb.FacebookMiddleware'。然后,您的视图可以使用'import facebook.djangofb as facebook'和'@facebook.require_login()'。我没有完全测试,但当我尝试显示以'@facebook.require_login()'为前缀的视图时,我被重定向到Facebook登录页面。

3
这一切都顺利完成。使用这种配置,我成功地利用Google App Engine作为后端构建了一个照片投票的Facebook应用程序。 - byamabe
我已经尝试过这个方法,但似乎对我无效。我不能使用"import facebook.djangofb as facebook",因为它会失败。你知道为什么吗?此外,"require_login"也没有按计划工作。也许我把PyFacebook的东西放错了目录?不确定。你能帮忙吗? - Bialecki
你把 'facebook' 目录放在项目的顶层了吗(例如示例项目中与 'myapp' 同级)?另外,应该是 'facebook' 目录而不是整个 PyFacebook 目录。尝试使用 @facebook.require_add(),但在导入成功之前都不会起作用。 - byamabe
因为我个人在寻找时发现,我想指出这也适用于原始的GAE应用程序。只需按照精确的说明操作即可。 - noio

0
根据此帖子所述,您需要一个稍作修改的PyFacebook,您可以从该帖子中提供的URL下载(尽管我自己没有尝试过)。
编辑:链接有误--请参见此讨论线以获取更好的链接和更多讨论。

那篇文章中的链接似乎已经损坏了? - bchang
是的,我编辑了我的答案以提供更好的指针(指向同一修改后的PyFacebook)- 谢谢! - Alex Martelli
在我提问之前,我看到了那篇帖子。我下载了文件,它看起来像是一个独立的Python接口,与PyFacebook项目没有任何关系(如果我错了,请纠正我)。无论如何,似乎并不支持PyFacebook中间件。我找到了一篇帖子(http://groups.google.com/group/app-engine-patch/browse_thread/thread/cca0bb8d661c7b83/24ac7e53baae523b?show_docid=24ac7e53baae523b),有人正在尝试类似的东西。我会尝试并发布我的发现。 - byamabe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接