我可以使用 Dropbox API v2 在我的网络应用程序中实现云存储吗?
Can I use Dropbox API v2 to implement cloud storage in my web app?
我正在开发一个网络应用程序,其中一个功能是用户登录我们的系统然后上传一些文件。我想知道是否有一种方法可以使用我自己的 Dropbox 帐户以有组织和安全的方式存储这些上传的文件。我还想稍后检索这些文件,因此我需要在上传完成时将它们的链接存储在单独的数据库中。
我正在一个节点上工作。js/JavaScript 环境 Ubuntu 如果这很重要并将应用程序托管在 Heroku 上。
我认为已弃用的 Datastore API 具有类似的功能,但有没有办法使用 API V2 实现此功能?
Dropbox API 确实提供了上传和下载文件的功能,以及其他操作,所以这当然是可能的。您可以在此处找到开始使用 Dropbox API 所需的一切,包括文档、教程和 SDK:
https://www.dropbox.com/developers
值得注意的是,Dropbox API 的设计意图是每个用户都会 link 他们自己的 Dropbox 帐户,以便与他们自己的文件进行交互。但是,从技术上讲,仅连接到一个帐户是可能的。出于各种技术和安全原因,SDK 不提供对它的明确支持,我们不建议这样做。不过,对于服务器端应用程序,这些问题中的大多数都得到了缓解,其中访问令牌可以保密。
如果您确实想走这条路,而不是开始授权流程,您可以手动为您的帐户和应用使用现有的访问令牌。 (注意不要撤销它,例如通过 https://www.dropbox.com/account/security 。)
您可以使用我的微型保管箱 v2 api 包装器 (dropbox-v2-api) 快速 upload/download 文件:
上传示例:
const dropboxUploadStream = dropbox({
resource: 'files/upload',
parameters: {
path: '/dropbox/path/to/file.js'
}
}, (err, result) => {
//upload completed
});
fs.createReadStream('path/to/file.js').pipe(dropboxUploadStream);
下载示例:
dropbox({
resource: 'files/download',
parameters: {
path: '/dropbox/image.jpg'
}
}, (err, result) => {
//download completed
})
.pipe(fs.createWriteStream('./image.jpg'));
两者合并:
const downloadStream = dropbox({
resource: 'files/download',
parameters: { path: '/source/file/path' }
});
const uploadStream = dropbox({
resource: 'files/upload',
parameters: { path: '/target/file/path' }
}, (err, response) => {
//upload finished
});
downloadStream.pipe(uploadStream);
我正在开发一个网络应用程序,其中一个功能是用户登录我们的系统然后上传一些文件。我想知道是否有一种方法可以使用我自己的 Dropbox 帐户以有组织和安全的方式存储这些上传的文件。我还想稍后检索这些文件,因此我需要在上传完成时将它们的链接存储在单独的数据库中。 我正在一个节点上工作。js/JavaScript 环境 Ubuntu 如果这很重要并将应用程序托管在 Heroku 上。
我认为已弃用的 Datastore API 具有类似的功能,但有没有办法使用 API V2 实现此功能?
Dropbox API 确实提供了上传和下载文件的功能,以及其他操作,所以这当然是可能的。您可以在此处找到开始使用 Dropbox API 所需的一切,包括文档、教程和 SDK:
https://www.dropbox.com/developers
值得注意的是,Dropbox API 的设计意图是每个用户都会 link 他们自己的 Dropbox 帐户,以便与他们自己的文件进行交互。但是,从技术上讲,仅连接到一个帐户是可能的。出于各种技术和安全原因,SDK 不提供对它的明确支持,我们不建议这样做。不过,对于服务器端应用程序,这些问题中的大多数都得到了缓解,其中访问令牌可以保密。
如果您确实想走这条路,而不是开始授权流程,您可以手动为您的帐户和应用使用现有的访问令牌。 (注意不要撤销它,例如通过 https://www.dropbox.com/account/security 。)
您可以使用我的微型保管箱 v2 api 包装器 (dropbox-v2-api) 快速 upload/download 文件:
上传示例:
const dropboxUploadStream = dropbox({
resource: 'files/upload',
parameters: {
path: '/dropbox/path/to/file.js'
}
}, (err, result) => {
//upload completed
});
fs.createReadStream('path/to/file.js').pipe(dropboxUploadStream);
下载示例:
dropbox({
resource: 'files/download',
parameters: {
path: '/dropbox/image.jpg'
}
}, (err, result) => {
//download completed
})
.pipe(fs.createWriteStream('./image.jpg'));
两者合并:
const downloadStream = dropbox({
resource: 'files/download',
parameters: { path: '/source/file/path' }
});
const uploadStream = dropbox({
resource: 'files/upload',
parameters: { path: '/target/file/path' }
}, (err, response) => {
//upload finished
});
downloadStream.pipe(uploadStream);