Intro
我的任务是为我的公司创建一个共享的Google Cloud 端硬盘文件夹结构 . 我希望它(或部分)中的所有内容都由同一个用户拥有 . 为此,我想使用Google Apps脚本强制文件夹中所有文件/文件夹的所有权,以获取文件夹列表 .
Problem
我不能让所有权转移工作 .
Thoughts
Google Apps管理员可以强制从用户X到用户Y的所有权 . 但是,由于我只希望共享文件夹中的文件位置转让所有权,因此不会这样做 .
以前可以通过Apps脚本完成,第三方函数名为transferOwnership .
在current implementation of Apps Script我得到"Access Denied" . 如果setOwner函数只能由文件所有者使用,那对我来说没用,但如果错误来自其他东西,我想知道是什么 .
我是完全管理员,我宁愿使用“真正的”功能库,然后使用第三方 .
2 回答
请参阅&star Issue 2756:非法ACL更改的服务器错误
摘要:只有文件的所有者才能更改所有权 . 管理员帐户不拥有用户的文件,因此他们在这方面没有特殊权限 .
正如@ HenriqueAbreu的评论中所述,this answer中描述了使用Drive API(而不是Google Apps脚本)来模拟域用户的可能性,但遗憾的是没有实现细节 .
您可以使用用户凭据运行webapp并触发sinergy . 我会告诉你我在公司实施的解决方案 . 每次触发器运行时,下面的系统都会传输属性,我选择每天早上1点运行一次 . 当然,您可以更改实现,以便可以在您喜欢的任何情况下进行触发,例如从另一个脚本调用它 .
假设您有一个特定用户(即域超级管理员)负责保存所有公司文件夹和文件的属性,最后让我们说公司根文件夹是COMPANY .
===============================================
First 像这样创建一个帮助器 GAS Proxy Check if File e Folder is in COMPANY data (必须发布为:作为super admninstrator运行,为域中的任何用户运行的权限):
==============================================
Second 像这样创建webapp(必须发布为:以用户登录的方式运行,为域中的任何用户运行的权限)
将 second 脚本的URL分发给域用户,要求他们允许其提出的权限 . ...或者根据您的喜好玩实现...享受