我的学生都有一个谷歌帐户,但使用不同的电子邮件(如john@hotmail.com)。我试图写一个web应用程序会从我的成绩的电子表格与Web应用程序的用户的电子邮件地址的行得到的,让每个学生只能看到他或她的成绩。 这webapp的用途:Session.getActiveUser()getEmail()。
这仅适用于在同一个域中的用户脚本作品,我要运行脚本的Web应用程序的用户(这是确定的 - !我的学生相信我那么远)。 这里是一个限制:
返回描述当前用户的用户对象。 在有限的特权执行(例如响应于的OnOpen或onEdit),我们只返回活跃用户的身份,如果两个用户和脚本所有者是相同的域的一部分。 这是为了保护消费者的用户,谁可能不希望他们的电子邮件地址暴露的隐私。
我的剧本作品,但我必须把成绩表直接在脚本每次更新我的电子表格更新web应用程序。 Yeck!
我不能分享我的成绩的电子表格,因为那么就要看对方的等级。 所以,现在我的头脑风暴其他解决方法。
下面是一个例子:
分享第二的电子表格,从我的电子表格中复制的等级与加密等级的更新功能。 web应用程序吸取从共享的电子表格和解密数据。 现在电子表格的简单更新所有需要 - web应用程序不需要重新发布。 (有一些简单的加密选项,就像也许有点扰base64encode ......?)
找到一种方法来自动更新Web应用程序并重新发布。 (不知道该怎么做。)
????
有什么建议么?
PS:如果1似乎是可行的,对于简单的加密代码的一些建议吗?
我不明白为什么你说“我的剧本的作品,但我必须直接放在档次的表脚本,每次更新Web应用程序更新我的电子表格”
这是很容易创建web应用程序,显示例如使用flextable电子表格的一部分。 应用程序的每个实例都将自动获得一个用户相关的内容,你将只需要更新您的主电子表格来得到你想要的。 我不知道你为什么要编码此数据...我想通过谷歌的登录用户标识应该是足够了,不是吗? 下面是一个例子这样的web应用,你会看到从一个特定的列都采取了在一个主电子表格(这个公共副本的数字我设置的应用程序为为“我”,以避免授权过程,但在实际每个用户运行被确定而只能看到他的数据)。
电子表格本身和代码都可见这里 ,不要犹豫,回来,如果你需要更多的信息。
有一些简单的加密选项,就像也许有点扰base64encode ...?
是的,气体的功能,编码使用中的Base64算法/解码- Utilities.base64Encode , Utilities.base64Decode ,但我认为,它甚至不是一个选项a little scrambling
。 学生很聪明。 我的意见是使用JavaScript实现一个加密算法,比如河豚 。 有一些它的JavaScript的(实现的这里和这里 )。 这些实现应在气体环境中工作,没有任何改变或小的修改。 它应该是足够的源代码复制并粘贴到GAS编辑器。
它是你的片上,ScriptDb的同步选项? 然后查询数据库其中user =登录ID
目前正在一个名为gGradebook项目,这不正是你想要什么: http://www.gclassfolders.com/standalone-resources/ggradebook
文章来源: Session.getActiveUser().getEmail() workaround for distributing grades from a spreadsheet