首页 > 解决方案 > 如何使用客户端 Javascript 通过 API 将跨域文件导入 Google Drive?

问题描述

我们正在尝试在客户端 Web 应用程序中从 URL 获取文件到 Google Drive。

挑战在于 Javascript 在下载文件时具有跨域限制。结果是,如果我们为 Javascript 提供 URL 列表 - 它无法下载文件然后放入 Google Drive,因为这些文件位于不同的网站上。

作为替代方案,Google Drive 是否具有可通过 Javascript 访问的 API,可以触发该 API 以导致 Drive 从 URL 中拉取文件?如果是这样,怎么做?

注意:这个问题与其他询问如何Google Drive 获取文件的 SO 问题形成对比。这个问题的重点是如何将跨域文件获取Google 驱动器。

标签: javascriptgoogle-drive-api

解决方案


实现这一点的标准方法是让文件的主机服务器支持 CORS。我猜他们没有,你无法控制他们。

Drive 没有从 URL 上传的功能,所以这不是一个选项。

也许最优雅的解决方案是让您实现自己的 Drive 代理端点,该端点接受源 URL,从该 URL 获取内容到缓冲区,然后将该缓冲区上传到 Drive。这样的代理编写起来相当简单(少于 50 行代码),并且可以托管在 Appengine、AWS Lambda 等无服务器环境中。


推荐阅读