问题标签 [google-drive-shared-drive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3957 浏览

google-workspace - 团队存储库的团队云端硬盘与 Google 云端硬盘共享文件夹。Team Drive 目前值得吗?

我只是想了解在 G Suite 上使用 Team Drive 获取团队存储库与仅在 Google Drive 上使用共享文件夹的优势。通过搜索不同的来源并进行测试,到目前为止,我发现了以下结果。

坦率地说,这一切让我想到,目前 Team Drive 是否比 Google Drive 上的共享文件夹更具优势。

问题:

1)我在分析中遗漏了什么吗?

2) Team Drive 还有什么我没有提到的吗?

3) 使用 google Drive 共享文件夹作为团队存储库是否还有其他陷阱(隐藏问题)?

团队云端硬盘与 Google 云端硬盘上的共享文件夹的优势:

当贡献者离开公司时,他们拥有的文件不会消失,如果他们被放置在团队云端硬盘中。

然而,他可以通过简单的自动化解决这个问题,即经理成为人员档案的所有者,向离开公司的他报告

编辑访问功能:

在团队云端硬盘中,您可以拥有无​​权删除或移动文件的编辑者/贡献者。嗯,这是一个很好的功能和明显的优势。

团队云端硬盘的限制

一个人对一个团队云端硬盘中的所有文件拥有相同的权限。

由于大多数人以一种或另一种方式为某些项目做出贡献,对我们来说,这意味着每个人都将获得整个公司所有项目存储库的编辑权限,这并不总是可取的

无法以分层方式管理访问权限

这是第一个的结果。在谷歌驱动器中说区域经理可以访问整个区域。然后,他将创建次区域文件夹并将它们分配给次区域经理。子区域管理员将只管理他们的文件夹,而不会看到其他子区域文件夹。但是区域经理的权限会下降,他们会自动看到所有内容。然后,子区域经理将为各个项目创建子文件夹,并授予各个项目经理访问权限

在 Team Drive 中,这样的构造是不可能的。

文件和/或文件夹不能位于多个位置 这是 Google 云端硬盘的一个非常好的功能,而团队云端硬盘中缺少该功能

子文件夹级别的数量限制 现在是20,但这仍然是一个限制

项目数量(文件/文件夹)限制现在 是400 k,但这仍然是一个限制

将文件从 Google Drive 迁移到 Team Drive 的限制

指向文件夹的链接将中断。 当文件夹迁移到团队云端硬盘时,不会保留指向文件夹的链接

消失的文件/文件夹

如果有一个文件或文件夹位于多个位置,并且其中一个位置位于该文件夹中,则该文件或文件夹已迁移到团队云端硬盘,则此云端硬盘文件夹/文件也会从其他位置消失,而不仅仅是从文件夹中消失,即明确迁移到团队云端硬盘。

0 投票
2 回答
1014 浏览

google-apps-script - 使用 Google Apps 脚本创建共享云端硬盘(以前称为团队云端硬盘)

我正在尝试确定是否可以使用 Google Apps 脚本创建新的共享驱动器(以前称为“团队驱动器”)。我可以看到很多在现有团队驱动器中创建新文件夹的示例,但没有创建全新的驱动器。

我希望能够开发一个 Apps 脚本来创建新的团队驱动器,其中包含预先准备好的文件夹和文档结构,各个团队可以根据自己的特定需求进行定制。

0 投票
1 回答
339 浏览

google-drive-api - 如果存在同名的对象,Google Drive API v3 会更新一个对象:list 'q' 参数不像记录的那样工作?

如果文件存在于特定文件夹中并且具有特定名称,我正在尝试更新它。在这种情况下,有问题的对象在团队驱动器中。我按照文档将q参数组合到list调用中,尝试切换回 v2 ......看来查询的组合完全正确。话虽如此,即使我看到目标文件夹中存在多个对象,列表调用也看不到它们。我试过name = ''name contains ''。谷歌团队似乎已经进行了足够的输入验证,就像当我有创意的 API 炸弹一样。任何指针?

当我尝试将“名称”参数替换为“标题”(根据我查看的一些答案,用于在 v2 中工作)时,API 被拒绝了

0 投票
1 回答
1448 浏览

google-drive-api - Google 云端硬盘分析 - 谁下载了什么

我有 G-Suite 用于商业,我有一个目录,我在其中放置了一些关于公司的数据。该目录是私有的,只有我的一些同事可以访问。我想知道谁下载/观看什么。那可能吗?谢谢

0 投票
1 回答
1809 浏览

php - php中对任何人或特定域的Google Drive API(团队驱动器)文件权限

Google API 资源管理器中,我尝试在 drive.permissions.create 中提供正确的 fileId。我将supportsTeamDrives 设置为true,请求正文的角色:读者和类型:任何人。这只是给了我错误:

我的 PHP 代码也是如此。这是我能得到的最接近的地方,这对我来说很合适:

我在错误中找不到任何内容:

无效链接可见性

我需要做的是临时将文件夹中20-50个文件的权限设置为“公共”(即任何有链接的人都可以看到它),因为我正在发送webContentLink(或webViewLink,我还没弄清楚我还需要使用哪个)到另一个 API 以将图像上传到那里。完成此操作后,我想删除公共访问权限。一种选择是将文件夹的权限(具有递归公共访问权限)设置为公共访问权限。我只是不知道如何在 PHP 中更改(或添加)对 Google Drive API 中文件的权限。

如果有某种方法可以通过包含令牌的 URL 获取图像,则另一种方法是,例如

其中 $token 是验证服务的身份验证令牌,$files 是https://drive.google.com/a/file/d/,$image1是文件的 id。当然,在尝试此操作时,我必须先登录到我的 Google 帐户,这不起作用,因为我将有另一个 API 调用这些链接并将内容发布到另一个服务。有什么办法可以使这项工作?这样我就不必担心文件权限(back-n-forth)。

0 投票
1 回答
491 浏览

powershell - Powershell cmdlet:将文件移动到团队驱动器

我很难将文件从本地目录移动到 Team Drive。

我有一种感觉,我可能会被迫离开 PS 并寻找另一条路线,我真的不想这样做,但就这样吧。

此命令不起作用:

移动项目 - 路径 'C:\Program Files (x86)\FieldSmart View\Logs\BgSync.log' -Destination 'G:\Team Drives\LGE Prints\Logs\$env:computername.txt'

此命令确实有效:

移动项目 - 路径 'C:\Program Files (x86)\FieldSmart View\Logs\BgSync.log' -Destination C:\Users\ITAdmin\Desktop\Test\$env:computername.txt

唯一的区别是目的地。

尝试将文件移动到团队云端硬盘时,会返回以下错误:

Move-Item :不支持给定路径的格式。

在行:1 字符:1

  • 移动项 -Path 'C:\Program Files (x86)\FieldSmart View\Logs\BgSync.l ...

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~

  • CategoryInfo : NotSpecified: (:) [Move-Item], NotSupportedException

  • FullyQualifiedErrorId : System.NotSupportedException,Microsoft.PowerShell.Commands.MoveItemCommand

我能做些什么?

0 投票
0 回答
3198 浏览

google-drive-api - 通过 REST API 递归列出 Google Drive 文件夹和子文件夹中的所有文件

有没有办法通过 Google Drive API 列出特定文件夹及其子文件夹中的所有文件,而无需遍历文件夹树并对每个文件夹发出请求?

据我所知,REST API的File:listChildren方法似乎只返回特定文件夹的文件。dir /s本质上,我想要在 windows中做相当于。

0 投票
0 回答
75 浏览

google-app-maker - 谷歌照片 - 没有 teamDriveId 但 API 认为它是一个团队驱动文件

好的,所以我用 appmaker 开发了一个应用程序,它可以将文件从个人驱动器移动到团队驱动器,反之亦然。这不像听起来那么简单,因为移动/复制过程与个人和团队驱动器不同。除了驱动器中显示的谷歌照片中的文件外,它工作正常。

通过应用我们得到 FileId 和 FolderId。我测试当前文件和目标文件夹file.teamDriveId在个人驱动器文件/文件夹上的位置是 false-y,然后将代码定向到正确的函数以实际执行移动查看function moveFileToFolder

问题:谷歌照片驱动器测试错误.teamDriveId即在常规谷歌界面中显示的个人驱动器中)但是当由function D2T代码处理时会中断并给出它是团队驱动器文件的错误Exception: Cannot use this operation on a Team Drive item。但是,该文件没有teamDriveId. 将死!

我的一个想法是为谷歌照片获取一个 teamDriveId 并添加到谷歌照片内的文件中,然后复制但似乎无法让它工作。如果有人有想法,将不胜感激..谢谢。

0 投票
1 回答
355 浏览

google-api - 使用 DRIVE API 更新 Google 驱动器文档的 CreatedDate 属性

我们正在使用 Google Drive API 将数据上传到 Google 团队驱动器。 https://developers.google.com/apis-explorer/#p/drive/v3

需要就以下问题提出建议。

  1. 我们想修改上传到自定义日期(过去日期)的文档的 CreatedTime 字段。当我们尝试更新它时,我们收到错误

“资源主体包含不可直接写入的字段”

您能否告知是否有任何方法可以将 CreateTime 更新为自定义日期(而不是上传文档的日期)

  1. 同样,我们还想更新 CreatedBy 属性,我们看到 Google Drive 文档具有 owner 属性,该属性保存已上传文档的用户的值。当我们从自定义代码上传时,我们想将其设置为自定义值。您能否告知这是否可能,因为我们遇到了错误"The resource body includes fields which are not directly writable "
0 投票
1 回答
552 浏览

google-api - .NET Google DRIVE API 客户端库 - 客户端未经授权无法使用此方法检索访问令牌

我正在使用 .NET google 客户端库中的 Google DRIVE API,并希望从服务帐户中模拟用户。我读过许多其他面临同样问题的用户,但没有一个修复对我有用。下面是详细信息。

  1. 创建服务帐户并启用域范围的委派(现在超过 3 小时)。
  2. 下载 *.p12 文件并记下密码
  3. 使用服务帐户客户端 ID 添加了权限驱动范围
  4. 使用以下代码创建服务并从谷歌驱动器上传/获取数据

代码

在 Request_ProgressChanged 事件中发送的第一批数据时,我遇到了错误。

执行 google API 方法时,它会抛出错误

错误:“unauthorized_client”,描述:“客户端未经授权无法使用此方法检索访问令牌。”,Uri:“”

我已经检查了许多启用 DWD 的论坛和 aaded 应用程序范围......任何人有任何想法请帮助,