3

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

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

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

4

2 回答 2

5

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

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

于 2012-11-16T19:25:28.647 回答
3

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

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

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

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

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

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

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

于 2012-11-25T07:05:50.483 回答