首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >有什么方法可以在Google脚本中识别用户吗?

有什么方法可以在Google脚本中识别用户吗?
EN

Web Applications用户
提问于 2017-05-25 00:54:50
回答 1查看 5.1K关注 0票数 1

我在Google中有一个电子表格,它与五个人共享。只编辑了几个列;所有其他列都被锁定。

我们需要跟踪这些可编辑列的更改,因此,基于这个答案,我在Apps脚本中添加了一个脚本,如下所示:

代码语言:javascript
运行
AI代码解释
复制
function onEdit() {
 if( s.getName() == "MySpecialSheet" ) { // Set to sheet name
   var r = s.getActiveCell();
   var col= r.getColumn();
   if( col == 3 ) { // Check the column
     var nextCell = r.offset(0, 1);

     var datetime = new Date();
     datetime = Utilities.formatDate(datetime, "GMT+9", "yyyy/MM/dd, hh:mm:ss"); // +9 for Tokyo
     nextCell.setValue(datetime);
   };
 };
}

这会自动插入编辑相关单元格的时间,这很好。但是,我也想添加一种方法来告诉谁编辑了这个单元格。

我在应用程序脚本文档中检查了用户类,但似乎唯一的方法是getEmail(),它:

在允许脚本未经用户授权而运行的任何上下文中都不可用,例如简单的onOpen(e)或onEdit(e)触发器、Google中的自定义函数或部署到“执行即我”(即由开发人员授权而不是用户授权)的web应用程序。

因为我的脚本使用onEdit(),所以我无法获得电子邮件地址。有没有办法获取任何类型的ID (我不需要电子邮件地址--可以是帐户的名称或号码),以便编辑一个单元格,然后将其插入另一个单元格中?

如果没有,我想我可以创建一个列,人们只需输入它们的首字母,但是人们往往会忘记,所以如果可能的话,我更喜欢自动化的解决方案。

EN

回答 1

Web Applications用户

回答已采纳

发布于 2018-01-24 00:40:19

我之前搜索过这个,发现这取决于你是否有私人账户或者是同一家公司的一部分。对于私人账户,这是不可能的,至少在我研究的时候是不可能的。我的解决办法是让每个人填写他/她的名字。

我在这里复制我的代码,您必须更改工作表的名称、行号等。

代码语言:javascript
运行
AI代码解释
复制
function onEdit(e) { 
 if (e.source.getActiveSheet().getName() !== 'adresseliste') return;
 if (e.range.columnStart < 1 || e.range.rowStart < 2) return;
 e.source.getActiveSheet().getRange(e.range.rowStart, 37)
        .setValue(Utilities.formatDate(new Date(), "GMT+2", "dd.MM.yyyy HH:mm"));
 var navn = Browser.inputBox('Hvem er du?');
 e.source.getActiveSheet().getRange(e.range.rowStart, 38)
    .setValue(navn);
 var why = Browser.inputBox('Hvorfor endret du?');  
 e.source.getActiveSheet().getRange(e.range.rowStart, 39)
    .setValue(why);
 }
票数 2
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/106379

复制
相关文章
nacos 持久化 docker 部署
微服务需要部署 nacos, 但是用 docker 进行部署,容器删除之后配置就全部丢失。所以需要配置外部数据库,使得 nacos 数据持久化。
子润先生
2021/06/11
1.3K0
nacos 持久化 docker 部署
微服务需要部署 nacos, 但是用 docker 进行部署,容器删除之后配置就全部丢失。所以需要配置外部数据库,使得 nacos 数据持久化。
用户2323866
2021/06/24
1.3K0
在容器中部署mysql与数据持久化
通过上一节的学习,我们知道了如何部署一个不带数据库的静态nginx页面;但一般的web应用中,还需要部署mysql数据库,本节我们将学习如何使用容器部署mysql数据库。 回顾:【docker实践连载1】使用docker输出hello world 01 mysql独立部署 我们可以将mysql与web应用部署在同一个容器内,但更一般的用法是将mysql独立部署一个容器。 #获取mysql5.6.36官方镜像 (mysql5.7变动较大,推荐使用5.6) docker pull mysql:5.6.36
企鹅号小编
2018/01/23
2K0
在容器中部署mysql与数据持久化
数据持久化
数据持久化是将内存中的数据转换为存储模型,以及存储模型转换为内存中的数据模型的统称。数据模型可以是任何数据结构或对象模型。存储模型可以使关系模型、XML、二进制流等。cmp和Hibernate只是对象模型到关系模型之间转换的不同实现。
全栈程序员站长
2022/06/30
3610
Redis数据持久化
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志。大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长。不过Redis提供了AOF rewrite功能,可以重写AOF文件,只保留能够把数据恢复到最新状态的最小写操作集。
Autooooooo
2020/11/09
7110
Redis数据持久化
Redis数据持久化
可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
DB之路
2021/03/07
7260
Redis 数据持久化
Redis支持两种数据持久化方式:RDB方式和AOF方式。前者会根据配置的规则定时将内存中的数据持久化到硬盘上,后者则是在每次执行写命令之后将命令记录下来。两种持久化方式可以单独使用,但是通常会将两者结合使用。
星哥玩云
2022/09/15
1.5K0
Redis 数据持久化
nacos数据持久化
持久化:管理的配置信息持久化。 注意:默认nacos存在配置信息持久化,默认的持久化方式为内嵌数据库derby(无法友好的展示数据)。
别团等shy哥发育
2023/02/25
9260
nacos数据持久化
redis 数据持久化
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。 RDB持久化 RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 手动触发数据持久化
小手冰凉
2020/07/27
5560
iOS数据持久化
// // AppDelegate.m // // import "AppDelegate.h" import "Person.h" @interface AppDelegate () @end @implementation AppDelegate (void)dealloc { [_window release]; [super dealloc]; } (BOOL)application:(UIApplication )application didFinishLaunchingWith
大师级码师
2021/10/29
5310
Nacos的持久化和集群部署
  mysql/mysql-server:5.7   nacos/nacos-server:1.1.4
用户10196776
2023/10/17
4240
Nacos的持久化和集群部署
docker容器数据持久化
"Failure is success if you learn from it.—— 作者未知"
小闫同学啊
2020/03/11
4.3K0
Redis的数据持久化
根据服务器是否启用了 AOF 持久化功能, 服务器载入数据时所使用的目标文件会有所不同:
真正的飞鱼
2022/12/20
4060
Docker 数据持久化Volume
Docker镜像是基于联合文件系统(Union File System)的一种层式结构,由一系列指令一步一步构建出来。
TestOps
2022/04/07
6900
Docker 数据持久化Volume
Kubernetes数据持久化方案
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath、configmap以及secret的机制和用途。
星哥玩云
2022/07/13
8310
Kubernetes数据持久化方案
持久化内存数据访问
持久化内存访问链路 访问链路说明 第一种,应用端发起read/write操作,会进入内核的vfs的相关函数,如果数据在page cache中,直接访问page cache.如果不在则从磁盘中读取。通常内核会通过磁盘文件系统确定文件所在文件系统块的大小,根据你文件系统块大小计算出请求数据的长度,通过磁盘文件系统的函数来访问inode,然后根据inode来确定数据所在磁盘的位置。内核将所有请求转发到通用块设备,通过IO调度将IO进行重排和合并,最终通过块设备驱动层向持久化内存硬件发送IO指令进行实际的IO
用户4700054
2022/08/17
6490
持久化内存数据访问
Redis的数据持久化
主从同步数据选择的方式-----数据持久化操作  Redis在正常关闭时触发rdb操作
星哥玩云
2022/08/18
3580
Redis初识~持久化数据
Redis我们都知道Redis的内容是放在内存当中的,如果我们的安装Redis的服务器宕机了,那么我们在内存保存的内容也就丢失了。在Redis当中给提供了不同级别的持久化的方式来进行数据的保存: RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。 AOF持久化方式记录每次对服务器写的操作。当服务器重启的时候会重启执行这些命令来恢复原始的数据,AOF命令以redis协议追加每次写的操作到文件的末尾,Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。 也可以不运行持久化的方式。
用户2196435
2018/07/19
6210
Flutter开发 - 数据持久化
数据持久化的应用场景有很多。比如,用户的账号登录信息需要保存,用于每次与 Web 服务验证身份;又比如,下载后的图片需要缓存,避免每次都要重新加载,浪费用户流量。
用户1483438
2022/03/28
1.7K0
详解 ZooKeeper 数据持久化
Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源、有趣、入门级的 ZooKeeper 教程,面向有编程基础的新手。
HelloGitHub
2021/05/14
1.1K0
详解 ZooKeeper 数据持久化

相似问题

couchbase是否持久化数据?

11

通过NSUserDefaults实现数据持久化

22

如何在可靠部署后持久化数据

12

将更改持久化到自动生成的DbContext

10

通过AppPool回收持久化静态数据

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档