2012-07-16 97 views
1

我試圖將我的網站掛接到Meetup.com。
Instructionshttp與「聚會」API錯誤400 API

當我請求授權時,一切正常。然而,當我試圖讓訪問令牌,我不斷收到:

http error 400: bad request.

這裏是我的代碼:

def meetupauth(request): 

r =request.REQUEST 
code = r['code'] 
state = r['state'] 

consumer = OAuthConsumer.objects.filter(apiservice_id=LINKEDINAPI)[0] 

url_str = {'client_id' : consumer.token, 'client_secret' : consumer.tokensecret, 'grant_type' : 'authorization_code', 'redirect_uri' : 'http://127.0.0.1:8000/apiservice/meetupauth', 'code' : code} 

#url_str = (('client_id' , consumer.token), ('client_secret' , consumer.tokensecret), ('grant_type' , 'authorization_code'), ('redirect_uri' , 'http://127.0.0.1:8000/apiservice/meetupauth'), ('code' , code)) 

url_string = urllib.urlencode(url_str) 

req = urllib2.Request(meetup_access_token_url, url_string) 


resp = urllib2.urlopen(req) 


return redirect("/dashboard/") 

這是錯誤:

HTTPError at /apiservice/meetupauth 
HTTP Error 400: Bad Request 
Request Method: GET 
Request URL: http://127.0.0.1:8000/apiservice/meetupauth?code=acd62b4e1f28e3454c322d6b00136443&state= 
Django Version: 1.4 
Exception Type: HTTPError 
Exception Value: HTTP Error 400: Bad Request 
+0

這個錯誤是發生的歷史當授權重定向到您的回調網址是什麼?即使輸入訪問令牌視圖之前,該錯誤看起來像是失敗。 – jdi 2012-07-16 21:23:34

+0

@jdi我到達了「access granted」頁面,當它重定向到這個視圖時,我得到了400錯誤。我在「r = request.Request」和終端打印出正確的輸出後放了一個打印語句 – anc1revv 2012-07-16 21:29:00

+0

你的'APPEND_SLASH' settings.py值是否設置爲True?如果沒有,你可能需要在你的'redirect_uri'的末尾添加一個明確的'/'。您應該直接複製粘貼並向您的瀏覽器請求url,然後查看您是否獲得404 – jdi 2012-07-16 21:40:14

回答

1

愚蠢的錯誤。

代碼:

consumer = OAuthConsumer.objects.filter(apiservice_id=LINKEDINAPI)[0] 

它應該是

consumer = OAuthConsumer.objects.filter(apiservice_id=MEETUPAPI)[0]