2

我正在尝试使用托管在 Google App Engine 上的 python 和 pyfacebook 为 Facebook 编写我的第一个应用程序。我面临的问题是循环重定向。当我访问http://apps.facebook.com/appname时,Firefox 死了抱怨“此页面未正确重定向” 。

这是代码:

class CanvasHandler(webapp.RequestHandler):
    def get(self):
        ## instantiate the Facebook API wrapper with your FB App's keys
        fb = facebook.Facebook(config.FACEBOOK_API_KEY, config.FACEBOOK_API_SECRET)

        ## check that the user is logged into FB and has added the app
        ## otherwise redirect to where the user can login and install
        if fb.check_session(self.request) and fb.added:
            pass
        else:
           url = fb.get_add_url()
           self.response.out.write('<script language="javascript">top.location.href="' + url + '";</script>')
           return

        rendered_template = render_template('facebook/app.html')
        self.response.out.write(rendered_template)

当我退出 Facebook 时,我看到了这个问题。任何帮助表示赞赏。

4

2 回答 2

1

如果您刚开始使用 Facebook 应用程序,请考虑使用访问 Graph API的官方 Python SDK 。REST API正在逐步淘汰

要进行身份验证,请使用JS SDK,它将设置一个您可以在服务器端读取的 cookie。

于 2010-08-22T21:24:48.097 回答
0

我同意应付360。我一直在玩 facebook 应用程序开发有一段时间了。他们似乎经常更改他们的 API,所以你最好使用官方库。

也就是说,为了回答您的问题,pyfacebbok 尝试从 django 的 HttpRequest.GET 中的信息中获取身份验证信息。这已经过时了,因为 facebook 在 POST 数据中提供了身份验证信息。

负责的源代码在pyfacebook/facebook/__init__.py. 方法名称似乎是validate_request

于 2011-02-14T02:24:23.097 回答