我是python和django的新手。尝试设置django以使用Dropbox,但不断收到错误“'BadRequestException'对象没有属性'get'”。这是我的代码。
def get_dropbox_auth_flow(web_app_session):
APP_KEY= '****'
APP_SECRET = '****'
redirect_uri = "http://localhost:8000/dropbox"
return DropboxOAuth2Flow(APP_KEY, APP_SECRET, redirect_uri, web_app_session, "dropbox-auth-csrf-token")
# URL handler for /dropbox-auth-start
def dropbox_auth_start(request):
authorize_url = get_dropbox_auth_flow(request.session).start()
return HttpResponseRedirect(authorize_url)
# URL handler for /dropbox-auth-finish
def dropbox_auth_finish(request):
try:
access_token, user_id, url_state = get_dropbox_auth_flow(request.session).finish(request.GET)
# oauth_result = get_dropbox_auth_flow(request.session).finish(request.query_params)
except oauth.BadRequestException as e:
return e
except oauth.BadStateException as e:
# Start the auth flow again.
return HttpResponseRedirect("http://localhost:8000/dropbox_auth_start")
except oauth.CsrfException as e:
return HttpResponseForbidden()
except oauth.NotApprovedException as e:
raise e
except oauth.ProviderException as e:
raise e
我正在关注文档here
添加追溯here
答案 0 :(得分:0)
对于所有其他异常,您raise e
,但对于BadRequestException,您返回它 - 因此错误。
请注意,这一切都是非常奇怪的事情。没有必要抓住例外来重新提升它们。你应该只捕获你真正想要处理的那些,即BadStateException和CsrfException;你应该完全删除其他块,让它们被上游捕获。