【问题标题】:How preserve edit permissions for the copy of a Google Spreadsheet?如何保留 Google 电子表格副本的编辑权限?
【发布时间】:2017-11-16 16:26:50
【问题描述】:

我遇到了与Google Product Forums 上发布的类似的问题。

那里给出的答案描述了一种需要链接接收者自己采取行动制作 Google 电子表格副本的方式。

有一个脚本,它为想要编辑 Google 电子表格副本的人创建一个个人文件夹。比将 ORIGINAL Google Spreadsheet 复制到新创建的文件夹中:

fileforanswers.makeCopy(fileforanswers.getName(), targetFolder);

COPY 集的权限:

fileforanswers.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT)"

Google 电子表格包含 1 张表格。 Google 电子表格“SHEET”的副本的保护设置为:

if (protection && protection.canEdit()) { protection.remove(); }

对于“范围”是:

if (protection && protection.canEdit()) { protection.remove(); }

该链接包含 Google 电子表格副本的 ID。 当想要填写 Google 表格的人通过其自己的链接直接访问 Google 电子表格的副本时,Google 表格只允许查看它

上述设置是为原始 Google 电子表格手动设置的。当同一个人通过其自己的链接访问原始 Google 电子表格时,以与复制的情况相同的方式,Google 表格允许编辑原始。

在脚本中允许编辑 Google 电子表格的副本还需要什么?

【问题讨论】:

    标签: google-apps-script google-sheets edit user-permissions


    【解决方案1】:

    .makeCopy 方法返回副本文件。您的第二个代码行似乎解释了您所描述的内容,即您在复制的文件而不是副本上设置共享。

    尝试对返回的 File 对象设置权限:

    var copyOfOriginal = fileforanswers.makeCopy(fileforanswers.getName(), targetFolder);
    
    copyOfOriginal.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT)"
    

    【讨论】:

    • 感谢您的帮助。有变化,但还没有解决方案。截图 - 复制之前(drive.google.com/drive/folders/0B6aDIsqDzW58ajh6VEM5YjlCYlU);复制后 (drive.google.com/drive/folders/0B6aDIsqDzW58N05RV1pOZGJxNXc) 未更改 - 可在任何计算机/任何操作系统 (MSW7/Linux(Ubntu) 上无限制地编辑原件。
    • 原件在被任何脚本触及之前是否可编辑?
    • 是的。原来手动创建的,权限、保护也是手动设置的。它是可编辑的,没有任何限制。
    • 看来,编辑权限的问题已经解决了。最后一步是将电子表格个人副本的链接发送给受访者。只有在 HTML 消息中通知受访者他们个人电子表格副本的链接,因为他们隐藏了他们的电子邮件。解决方案必须是在表单关闭并显示确认消息后,响应者的浏览器窗口中会显示一条消息。
    • 我找到了从电子邮件中的答案电子表格发送通知的解决方案,但不知道如何在表单关闭的受访者浏览器窗口中显示消息。您能否提示如何在受访者的浏览器窗口中显示包含链接的消息?
    猜你喜欢
    • 2016-12-27
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多