我正在用Python编写一个简单的Dropbox应用程序来上传/下载文件。以下是我正在使用的特定代码段,它创建了与Dropbox帐户的连接。
flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret)
# Have the user sign in and authorize this token
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 = raw_input("Enter the authorization code here: ").strip()
# This will fail if the user enters an invalid authorization code
access_token, user_id = flow.finish(code)
client = dropbox.client.DropboxClient(access_token)
print 'linked account: ', client.account_info()
f = open('data.txt')
response = client.put_file('/magnum-opus.txt', f)
print 'uploaded: ', response
folder_metadata = client.metadata('/')
print 'metadata: ', folder_metadata
f, metadata = client.get_file_and_metadata('/magnum-opus.txt')
out = open('magnum-opus.txt', 'w')
out.write(f.read())
out.close()
print metadata
它似乎运行正常,但我对我检查身份验证的方式持谨慎态度。上面的代码将在用户的默认浏览器中打开一个链接到他/她的Dropbox帐户,以允许访问此应用程序。但我想跳过这些步骤并获得明确的授权代码。我读过doc但它对我没有帮助。有谁知道如何获取此代码?
答案 0 :(得分:-1)
您可以使用"代码"流。使用dropbox api注册重定向网址。 Dropbox将发送"代码"到redirect-uri。从重定向uri,在dropbox中调用REST api,它将为您提供访问代码。因为所有这些都发生在服务器端,所以实现起来要容易得多。