有人可以展示一些关于在 django 中使用 dropbox api 的例子吗?Dropbox api 已安装,readme 已完成,测试已完成,如何更进一步?
2 回答
是的,您需要了解 oauth 的工作原理。当您尝试将上传的文件直接存储在用户的保管箱帐户上时,请考虑用例。首先,您必须在 Dropbox 网站上注册一个开发者帐户。在您的 django 视图中,典型的工作流程是这样的:
向 dropbox 询问请求令牌,(它会通知他们您将很快使用他们的 api)
dba = auth.Authenticator(app_settings.CONFIG)
request_token = dba.obtain_request_token()
它在 api 的文档中如何设置配置文件
比你建立一个认证网址:
authorize_url = dba.build_authorize_url(request_token, callback='http://...'
用户在 dropbox.com 上登录,然后重定向回您的网站
您现在应该存储请求令牌,但它只对获取访问令牌有用!
您使用请求令牌来获取访问令牌,它现在对用户来说是唯一的。
access_token = dba.obtain_access_token(request_token, 'verifier')
将验证器留空,它会保留以供将来使用!存储访问令牌,您在任何进一步的操作中都需要它(每个会话)
给你!你应该实例化一个客户端,它在 python 特定的 dropbox 包中定义
drpbx_client = client.DropboxClient('server','content_server','port',dba,access_token)
客户端是文件操作的辅助对象:
drpbx_client.put_file('dropbox', '/porn/', request.FILES['file'])
您必须使用 Dropbox REST api:
http://www.dropbox.com/developers/docs#api-specification
它使用 oauth 进行身份验证。详细指南和演练可以在这里找到: