gpt4 book ai didi

google-app-engine - app-engine-patch 和 pyFacebook 不工作

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:10 25 4
gpt4 key购买 nike

我正在尝试使用 app-engine-patch 和 pyFacebook 编写一个 facebook 应用程序。我只使用了每个工具提供的示例,但由于某种原因它不起作用。

我已经按照此处接受的答案中的描述将两者结合起来: Facebook, Django, and Google App Engine

app-engine-patch 似乎工作得很好,但是当我尝试使用 @facebook.require_login() 时,我从 GAE 的日志中得到了这个:

Exception in request:
Traceback (most recent call last):
File "/base/data/home/apps/app-name/1.339079629847560090/common/zip-packages/django-1.1.zip/django/core/handlers/base.py", line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/base/data/home/apps/app-name/1.339079629847560090/facebook/djangofb/__init__.py", line 87, in newview
if not fb.check_session(request):
File "/base/data/home/apps/app-name/1.339079629847560090/facebook/__init__.py", line 1293, in check_session
self.session_key_expires = int(params['expires'])
ValueError: invalid literal for int() with base 10: 'None'

无论我用@facebook.require_login() 装饰哪个 View 都会发生这种情况

我正在使用这两个项目的最新版本,但我不知道为什么它不起作用。

非常感谢您的宝贵时间。

更新:我为 pyFacebook 做了一个快速修复,但我只是忘了把它放回线程中。

现在也作为一个答案,因为它似乎是唯一的方法。

如果你从这里更改 facebook/__init__.py line 1292+:

    if params.get('expires'):
self.session_key_expires = int(params['expires'])

对此:

    if params.get('expires'):
if params['expires'] == 'None':
params['expires'] = 0
self.session_key_expires = int(params['expires'])

它会工作,但它是一种 hack,也许可以更优雅地完成,但它确实有效。必须将 pyFacebook 开发人员指向此线程,也许他们会有更好的解决方案。

最佳答案

在将 pyfacebook 与 facebook-connect 一起使用时,您不应使用 pyfacebook 的装饰器 @facebook.require_login()。装饰器旨在用于 facebook 应用程序,因为如果用户未登录,它会将用户重定向到 facebook 站点,但如果用户未登录,您确实希望将用户重定向到您站点上的登录页面。

要使用 djangofb 中间件检查某人是否使用 facebook-connect 和 pyfacebook 登录,您可以调用 request.fb.check_session(request)。如果 check_session 返回 True,那么他们有一个有效的 session 。如果它返回 False,那么您需要将用户重定向到您的登录页面,以便他们可以单击您(应该)放置在该页面上的 facebook 连接登录按钮。

关于google-app-engine - app-engine-patch 和 pyFacebook 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com