使用javascript为单页应用程序将文件上传到Dropbox?

coh*_*man 5 javascript api dropbox

我创建了一个本地单页应用程序(带有嵌入式javascript的网页,可以在Chrome浏览器本地打开),我希望能够从我的Dropbox帐户上传和下载文件.我一直在寻找使用javascript做到这一点的解决方案,但是,我已经走到了尽头.有一个javascript Dropbox api(dropbox.js),但似乎你需要从Web服务器(用于Dropbox身份验证重定向)使用它,我认为这不适用于在身份验证后重定向到本地html文件.

有没有人做过我想做的事情,还是只是不可行?如果没有使用Dropbox,是否有替代方案(例如Google Drive等)?

谢谢.

lak*_*tak 5

要验证使用client.authDriver(new Dropbox.Drivers.Popup())(请参阅此处)而不是重定向:

此驱动程序可能对无法处理Dropbox.Drivers.Redirect执行的重定向的浏览器应用程序有用.此驱动程序通过弹出单独的窗口并在该窗口中加载Dropbox授权页面来避免更改应用程序浏览器窗口的位置.

您应该能够使用FileReader在本地读取文件,然后编写您的文件.


更新:是的,你做到了.请参阅浏览器和开源应用程序:

Dropbox API指南要求API密钥和密钥永远不会以明文形式公开.对于在客户端使用dropbox.js的应用程序(浏览器应用程序和Chrome扩展程序)以及所有开源应用程序,这都是一个问题.

要满足此要求,请对API密钥进行编码.


Evg*_*eni 2

您绝对可以使用 Google Drive:https ://developers.google.com/drive/quickstart-js 。还有一个样本 plunker 漂浮在周围。我相信您也可以通过 JS api 使用 Skydrive。

对于 dropbox 不是 100% 确定,但他们使用 OAuth 1(Dropbox 身份验证符合 OAuth v1 规范 @ https://www.dropbox.com/developers/core/authentication#python),并且通常不是一个好主意将其与 JS 一起使用,因为它需要公开您的应用程序秘密。Twitter 使用同样的方法,并且他们取消了 JS api。