4

有人可以展示一些关于在 django 中使用 dropbox api 的例子吗?Dropbox api 已安装,readme 已完成,测试已完成,如何更进一步?

4

2 回答 2

6

是的,您需要了解 oauth 的工作原理。当您尝试将上传的文件直接存储在用户的保管箱帐户上时,请考虑用例。首先,您必须在 Dropbox 网站上注册一个开发者帐户。在您的 django 视图中,典型的工作流程是这样的:

  1. 向 dropbox 询问请求令牌,(它会通知他们您将很快使用他们的 api)

    dba = auth.Authenticator(app_settings.CONFIG)

    request_token = dba.obtain_request_token()

    它在 api 的文档中如何设置配置文件

  2. 比你建立一个认证网址:

    authorize_url = dba.build_authorize_url(request_token, callback='http://...'

    用户在 dropbox.com 上登录,然后重定向回您的网站

    您现在应该存储请求令牌,但它只对获取访问令牌有用!

  3. 您使用请求令牌来获取访问令牌,它现在对用户来说是唯一的。

    access_token = dba.obtain_access_token(request_token, 'verifier')

    将验证器留空,它会保留以供将来使用!存储访问令牌,您在任何进一步的操作中都需要它(每个会话)

  4. 给你!你应该实例化一个客户端,它在 python 特定的 dropbox 包中定义

    drpbx_client = client.DropboxClient('server','content_server','port',dba,access_token)

    客户端是文件操作的辅助对象:

    drpbx_client.put_file('dropbox', '/porn/', request.FILES['file'])

于 2011-07-10T23:43:27.713 回答
5

您必须使用 Dropbox REST api:

http://www.dropbox.com/developers/docs#api-specification

它使用 oauth 进行身份验证。详细指南和演练可以在这里找到:

http://hueniverse.com/oauth/

于 2011-06-22T11:28:06.510 回答