dropbox.rest.ErrorResponse:[400]'invalid_grant'

时间:2016-05-09 07:08:54

标签: python api dropbox

我是Python的新手并开始玩游戏以访问不同的API,现在我开始使用Dropbox API。 但是当我尝试访问自己的帐户时,我获得了“invalid_grant”访问权限。

import dropbox
app_key = 'AAAA'
app_secret = 'BBBB'

flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret)
authorize_url = flow.start()

print ('1. Go to: ' + authorize_url)
print ('2. Click "Allow" (you might have to log in first)')
print ('3. Copy the authorization code.')
code = 'CCCC'

access_token, user_id = flow.finish(code)

当我使用这个脚本时,我得到了以下输出。

  

追踪(最近一次通话):   文件“PATH / dropboxdownload.py”,第14行,in   access_token,user_id = flow.finish(code)   文件“PATH \ Python35-32 \ lib \ site-packages \ dropbox-2.2.0-py3.5.egg \ dropbox \ client.py”,第1398行,完成   return self._finish(代码,无)   文件“PATH \ Python35-32 \ lib \ site-packages \ dropbox-2.2.0-py3.5.egg \ dropbox \ client.py”,第1265行,在_finish   response = self.rest_client.POST(url,params = params)   POST中的文件“PATH \ Python35-32 \ lib \ site-packages \ dropbox-2.2.0-py3.5.egg \ dropbox \ rest.py”,第316行   return cls.IMPL.POST(* n,** kw)   POST中的文件“PATH \ Python35-32 \ lib \ site-packages \ dropbox-2.2.0-py3.5.egg \ dropbox \ rest.py”,第254行   post_params = params,headers = headers,raw_response = raw_response)   请求文件“PATH \ Python35-32 \ lib \ site-packages \ dropbox-2.2.0-py3.5.egg \ dropbox \ rest.py”,第227行   提出ErrorResponse(r,r.read())   dropbox.rest.ErrorResponse:[400]'invalid_grant'   处理以退出代码1完成

2 个答案:

答案 0 :(得分:0)

我已经解决了问题,我的问题是令牌已过期。

您可以尝试使用以下代码获取详细信息错误消息

try :
    access_token,user_id = flow.finish(code)
except dropbox.rest.ErrorResponse as err:
    print("this"+str(err.body))

如果您的错误是令牌过期,那么您需要转到authorise_url的链接,然后获取新令牌。

答案 1 :(得分:0)

如果此错误继续,请使用以下链接:

https://www.dropbox.com/1/oauth2/authorize?response_type=code&client_id=**your ID**

确保将您的ID添加到client_id参数。