Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 获取谷歌电子表格中的编辑器名称并将其写入单元格_Google Apps Script_Google Sheets_Acl - Fatal编程技术网

Google apps script 获取谷歌电子表格中的编辑器名称并将其写入单元格

Google apps script 获取谷歌电子表格中的编辑器名称并将其写入单元格,google-apps-script,google-sheets,acl,Google Apps Script,Google Sheets,Acl,有没有办法让OneEdit函数在A2发生更改时获取编辑器名称并将其写入B2 (例如,我的google帐户名为“Thomas g.”,因此应将其写入B2。) 可能?重要注意事项:以下代码通常仅在脚本的所有者/发布者和访问工作表的用户属于同一Google Apps域时有效。它不适用于非应用程序用户 可以使用工作表中的以下OneEdit()方法执行此操作: function onEdit(e) { var editedRange = e.range; if ( editedRange.get

有没有办法让OneEdit函数在A2发生更改时获取编辑器名称并将其写入B2

(例如,我的google帐户名为“Thomas g.”,因此应将其写入B2。)
可能?

重要注意事项:以下代码通常仅在脚本的所有者/发布者和访问工作表的用户属于同一Google Apps域时有效。它不适用于非应用程序用户

可以使用工作表中的以下OneEdit()方法执行此操作:

function onEdit(e) {
  var editedRange = e.range;
  if ( editedRange.getColumn()==1 ) { // if column A was edited
    var u = Session.getActiveUser().getEmail();
    editedRange.offset(0, 1).setValue(u); // write user's email to corresponding row in column B
  }
};

注意:这将要求用户授权脚本访问他们在谷歌上的数据(以了解用户的电子邮件)。

在我的链接文档中尝试了这一点,但没有任何结果。。。对你有用吗?此外,如果可能的话,我希望收到的是姓名,而不是电子邮件…@TobiasH我已经编辑了我的答案,因为显然,e.user在默认情况下没有填充,也不会触发用户的正确授权。将代码改为使用会话服务。您是否使用了更新后的代码?Hmmm进一步测试表明,它仍然不会触发非所有者帐户的正确授权。让我再修改一下……是的,我需要先从脚本运行它,然后它要求我授权,然后它工作了。然而,就我而言,这并不太实际。我想将该电子表格嵌入到网站中,并为特定用户提供该电子表格的链接以更新状态。现在,我需要告诉每个人首先打开脚本编辑器,运行脚本,然后进行授权。有没有办法至少让他们在不去脚本编辑器的情况下进行授权?更新:厄运!太好了,谢谢!:)是的,这正是我现在想要实现的——因此,当用户打开工作表时,会自动要求用户进行授权。默认情况下,简单触发器(onOpen(),onEdit())不会触发此操作。正在寻找一份工作。。。