【问题标题】:Dropbox app destined to interact with only one dropbox account注定只能与一个 Dropbox 帐户交互的 Dropbox 应用
【发布时间】:2012-11-15 17:09:57
【问题描述】:

我需要一个简单的网络表单,它还可以让人们上传一些 pdf。 我想我可以做的(因为上传文件的大小和数量)是将这个应用程序的后端绑定到我的 Dropbox 帐户或我的 box.com 帐户。 两种服务都提供类似的 API 来构建应用程序。

但是,他们都假设我想与人们的保管箱/盒子帐户进行交互。 我想我有点想要反过来。人们会将文件上传到网络服务器,但我想以编程方式将它们上传到这两个服务中的任何一个,但在我的帐户下,访问和权限仅与我的帐户相关。

用户根本不需要与 Dropbox 交互,他们不需要批准任何事情。 为什么似乎无法使用 API 将文件添加到我拥有的同一个以前已知的 Dropbox 帐户?

【问题讨论】:

  • 如果您想以低廉的价格存储大量文件,Amazon S3 之类的可能会更好。但是使用 Dropbox 也应该可以——只需授权您的网站通过 API 访问您的帐户。然后在用户上传文件后将文件传输到保管箱。
  • @Jason - 授权我的网站通过 API 访问我的帐户正是我感到困惑的地方。我似乎只能授权我的应用在浏览器中使用网络应用与用户交互。

标签: dropbox dropbox-api dropbox-php


【解决方案1】:

虽然这不是预期用途,但基本想法是手动获取帐户的授权访问令牌一次,然后保存并在所有未来调用中重复使用它。 (请确保不要撤销它。)

这与管理多个用户的方式基本相同,只是每个用户只是重复使用相同的访问令牌,而不是他们自己的。

【讨论】:

    【解决方案2】:

    在某些情况下,我使用 Facebook (FB) API 遇到了类似的问题 - 我想要让我的 服务器 与 FB 对话以便与 my em> 帐户 - 但 API 通常用于访问网站的人的帐户。

    问题在于,如果您尝试连接客户端,正如 API 通常预期的那样,您需要通过客户端脚本公开您自己的私人登录/凭据...这显然不好.

    我使用的技巧是使用一系列方法包装 API 服务器端,这些方法允许您执行所需的特定功能,然后允许您的 JS 或服务器端绑定异步调用这些方法。生成的流程图如下所示:

    ------            ----------                               -------
    | UI | -> AJAX -> | Server | -> Async GET w/Credentials -> | API |
    ------            ----------                               -------
    

    然后,您在 Server 级别取回数据并将其以 JSON 形式返回到 UI - 瞧,您的 UI 没有凭据 - 但仍然可以访问您的 DropBox。

    所以-对于您上传文件的示例...用户将文件发布到您的网络服务器。在该方法的服务器端处理程序上 - 只需获取发布的二进制信息,将其形成为对您的下拉框的新 API 调用 - 进行身份验证(如果您还没有活动的经过身份验证的会话) - 然后发布。然后,您可以根据该调用的成功/失败向您的客户端返回信息。

    我希望这会有所帮助。 :) 需要一些脚手架 - 但这是可能的!有信心!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多