2013-04-08 5 views
0

Python (Flask) 및 DropBox API를 사용하여 앱을 작성하려고합니다. 나는 사용자를 인증하려고 시도하고 있으므로 파이썬 튜토리얼을 따라 갔다.Dropbox auth가 Python에서 작동하지 않습니다.

from flask import Flask, render_template, url_for 
from dropbox import client, rest, session 

# Dropbox Settings 
APP_KEY  = 'gb83a6gpdo4kba6' 
APP_SECRET = 'w5q0yhj9ikiw39g' 
ACCESS_TYPE = 'app_folder' 

# Flask Config 
DEBUG = True 

app = Flask(__name__) 
app.config.from_object(__name__) 

@app.route("/") 
def home(): 

    dropboxAccount = dropboxAccessToken = dropboxClient = None 

    # Dropbox Auth 
    dropboxSession = session.DropboxSession(app.config['APP_KEY'], app.config['APP_SECRET'], app.config['ACCESS_TYPE']) 
    requestToken = dropboxSession.obtain_request_token() 

    try: 
     dropboxAccessToken = dropboxSession.obtain_access_token(requestToken) 

     dropboxClient  = dropboxClient.DropboxClient(dropboxSession) 
     dropboxAccount  = dropboxClient.account_info() 
    except Exception, e: 
     print e 
     dropboxAuthUrl = dropboxSession.build_authorize_url(requestToken, oauth_callback = "http://localhost:5000/") 

    context = { 
     'dropboxAuthUrl' : dropboxAuthUrl, 
     'dropboxAccount' : dropboxAccount 
    } 

    return render_template('layout.html', context = context) 

if __name__ == "__main__": 
    app.run() 

그러나 인증이 작동하지 않습니다. 내 로컬 호스트에서 시도, 사용자는이 라인에 의해 생성 된 링크를 클릭 :

dropboxSession.build_authorize_url(requestToken, oauth_callback = "http://localhost:5000/") 

그리고 허용하거나 거부 할 응용 프로그램 정보 및 옵션을 표시, 보관 용 인증 페이지로 이동합니다. '허용'버튼을 클릭하면 다시 리디렉션되며 내 계정 앱을 확인하면 새 앱이 표시되지 않습니다. 콜백 URL은 다음과 같습니다.

http://localhost:5000/dropbox/?uid={some_uid}&oauth_token={some_token} 

누구나 무슨 일이 벌어지고 있는지 알 수 있습니까?

미리 감사드립니다.

답변

0

방금 ​​해결되었습니다. 모든 요청에 ​​대해 request_token을 다시 설정한다는 것을 알지 못했습니다.

관련 문제