与PhoneGap / Cordova或Sencha Touch一起使用Dropbox Saver / Chooser

时间:2013-10-19 11:33:18

标签: cordova sencha-touch dropbox-api

我正在尝试将新的dropins集成到Sencha Touch应用程序中,因此我按照Dropbox api文档中的教程进行操作。

集成说明看起来很简单:

  • 在我的应用脚本之前将脚本添加到index.html中的API:
<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="my_api_key">
  • 创建一个带有a标签的简单Sencha组件,例如:
{
    xtype: 'field',
    label: 'Dropbox',
    html: '<a href="res/icons/icon-64.png" class="dropbox-saver dropbox-dropin-btn dropbox-dropin-default"><span class="dropin-btn-status"></span>Save to dropbox</a>'
}

这将呈现为所需的Dropbox按钮,但是,单击它可以不执行任何操作,也可以只显示href中的图标。我知道这与我想把文件放到文件但我看不到要放在那里的事实这个事实有关,因为我的应用程序将用phonegap包装并部署在手机上...

我可以看到几个选项:

  • 使用网络服务器:将我的本地文件上传到该网址,发回网址并将此网址传递给dropbox按钮
  • 使用完整网址从file://开始,但我认为它不起作用,因为您需要在Dropbox控制台上注册一个带有域名的应用。
  • 也许我可以使用 HTML5文件API 以某种方式传递一个绝对网址,但我对这个网站并不是很有信心
  • 选择另一个Dropbox API 哪个更适合这项任务?也许同步
  • 使用 Phonegap同步插件,我认为这不成熟,仅支持iOS和Android支持
  • 另一种解决方案?

任何使这种集成工作的提示或指针都会很棒。

2 个答案:

答案 0 :(得分:0)

Dropbox Saver的工作方式是Dropbox从URL中提取内容并将其存储在用户的Dropbox中。因此,URL必须是Dropbox服务器可以访问的可公开访问的URL。 (file://网址无法使用,因为Dropbox无法获取内容。)

目前,您必须使用其他API在Dropbox中存储内容,但这需要用户通过OAuth授权您的应用。我建议使用JavaScript SDK:https://github.com/dropbox/dropbox-js

答案 1 :(得分:0)

我无法从你的问题中看出你是否想要Saver或Chooser,但现在Github上有一个Dropbox Chooser Phonegap插件:

https://github.com/cv-library/phonegap-plugin-dropbox-chooser

(披露:我帮忙写了。)