2012-12-10 75 views
0

不能讓「代碼」變量是我view.pyDjango和Facebook登錄:這裏的回調

def facebook_login(request): 
    f = FacebookAPI(client_id=FACEBOOK_APP_ID, client_secret=FACEBOOK_API_SECRET, redirect_uri=SITE_URL+'/login/facebook/') 
    if request.GET.has_key('code'): 
     code = request.GET.get('code') 
     logger.debug(code) 
    return HttpResponseRedirect('/') 

code變量始終是空在這裏。當我試圖手動訪問它時,它工作正常,我以這種方式得到codehttps://graph.facebook.com/oauth/authorize?redirect_uri=http%3A%2F%2Ffoo.bar.net%2Flogin%2Ffacebook/&client_id=123456789

我使用的是下一個library與FB API

不知道什麼是錯在這裏工作。謝謝

回答

0

當然,我發現這個問題,太蹩腳了。修正如下:

def facebook_login(request): 
    if request.GET.has_key('code'): 
     code = request.GET.get('code') 
     logger.debug(+code) 
    else: 
     redirect_url = 'https://facebook.com/dialog/oauth?client_id='+FACEBOOK_APP_ID+'&redirect_uri='+SITE_URL+'/login/facebook/' 
     return HttpResponseRedirect(redirect_url) 
    return HttpResponseRedirect('/login.html')