以下是我的oauth模板
top.location.href =的 'https://graph.facebook.com/oauth/authorize CLIENT_ID = $ {配置[' facebook.appid ']}&安培; REDIRECT_URI = $ {配置[' facebook.callbackurl']}&安培;显示=页面&安培;范围= publish_stream'; 单击此处以授权此应用程序当我点击页面时,系统会提示我登录(需要),登录后,我会在权限页面和应用程序页面之间的循环中重定向。
我的控制器看起来像: class RootController(BaseController):
def __before__(self):
tmpl_context.user = None
if request.params.has_key('session'):
access_token = simplejson.loads(request.params['session'])['access_token']
graph = facebook.GraphAPI(access_token)
tmpl_context.user = graph.get_object("me")
def index(self):
if not tmpl_context.user:
return render('/oauth_redirect.mako')
return render('/index.mako')
我猜我的设置已关闭,可能是回调。
不确定我的代码或facebook的python sdk是否存在问题。
答案 0 :(得分:1)
我认为你应该修改你的代码看起来像这样
def index(self):
if request.params.has_key('session'):
access_token = simplejson.loads(request.params['session'])['access_token']
graph = facebook.GraphAPI(access_token)
tmpl_context.user = graph.get_object("me")
return render('/index.mako')
return render('/oauth_redirect.mako')
并在您的href网址上将redirect_uri更改为next并将其指向您应用的索引视图
https://graph.facebook.com/oauth/authorize?client_id= $ {配置[ 'facebook.appid']}&安培; 下一步强> = /应用/索引&安培;显示=页面&安培;范围= publish_stream