首页 > 解决方案 > 将所有内容从 google drive 业务同步到另一个业务帐户

问题描述

要求:

有什么办法可以做到这一点吗?(通过使用 api 编码或使用现有服务)

==================================================== ================

标签: google-apps-scriptgoogle-drive-apistoragegoogle-drive-shared-drive

解决方案


首先让我声明,没有什么开箱即用的东西可以让你这样做。正如您要求的可能的编码解决方案。

我过去做过类似的事情,只是没有使用工作区帐户。TBH 使用工作区会更轻松。

如果我要使用 Workspace 帐户再次执行此操作,我会这样做。这假设我对两个工作区域都具有管理员访问权限,或者可以访问该域的管理员。

这可以在任何服务器端编程语言中完成,大多数支持服务帐户、C#、php、python 甚至 node.js 的客户端库。

我会在 Google 开发者控制台上创建服务帐户凭据。然后我会将服务帐户添加为两个工作空间帐户的用户,让他们可以访问驱动器帐户。从技术上讲,这是从 A 到 B 的一种同步方式,因此工作区 A 中的用户只需要读取访问权限,但我们需要对工作区 B 进行读/写访问。

之后你就可以访问了。

那么这将是一个编程问题。

我会选择所有文件和驱动器 A,然后将它们与驱动器 B 进行比较。有多种方法可以比较某些内容是否已更改。如果文件已更改,我将执行更新,如果文件已创建,我将插入它。

删除变得棘手。然后您需要选择驱动器 B 上的所有内容并查看它是否存在于 A 中,如果不存在,则应删除该文件。

这一切都是可行的,只是比较一切的问题。这可以很容易地设置为 cron 作业。

我以前做过的事

正如你所要求的expect a working method instead of saying it is possible without any prove and reference

无法按照您的要求为您提供完整的工作方法,因为我不知道您将使用的编程语言,也无法访问您的驱动器帐户的结构。

Stack Overflow 也不是编码服务,但我很高兴为您提供一些设计启蒙。

这是我过去所做工作的总体思路。

file.list from drive A
    Loop though each file
         Compaire file from A to file from B
               If file does not exist
                     File.insert to file B
               If file does exist
                     Either check for change or just do file.update

File.list from drive B
      Loop though each file
          Compaire file from b to files from A
                Does file not exist
                       Delete from b

推荐阅读