-->

如何编写使用pyfacebook和谷歌应用程序引擎Facebook应用程序时,一个避免循环重定向?(

2019-09-18 09:25发布

我试着写使用Python和pyfacebook托管在谷歌应用程序引擎为Facebook我的第一个应用程序。 我现在面临的问题是,循环的重定向。 火狐模具抱怨“该页面无法正常重定向”当我访问http://apps.facebook.com/appname 。

下面的代码:

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。 任何帮助表示赞赏。

Answer 1:

如果你是刚刚开始使用Facebook应用程序,可以考虑使用Python官方SDK它访问图形API。 该REST API是被淘汰 。

做认证,使用JS SDK将设置一个cookie,你可以在服务器端读取。



Answer 2:

我同意cope360。 我一直在玩弄Facebook的应用程序开发了一小会儿吧。 他们似乎经常改变他们的API,所以你会更好使用官方库。

这就是说,要回答你的问题,pyfacebbok尝试从信息Django的authenticaion信息HttpRequest.GET。 这是过时的,因为Facebook在POST数据提供authenticaion信息。

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



文章来源: How does one avoid a cyclic redirect when writing a facebook application using pyfacebook and google app engine?