首页 > 解决方案 > 需要明确 GAS userProperties

问题描述

我正在用 GAS 编写一个 Telegram 机器人。我是否认为每当我使用 userProperties 存储某些东西时,例如

userProperties.setProperty('name', 'Alex'); 

该值是为脚本的这个特定实例和这个特定用户存储的吗?这是否意味着如果十个不同的用户有 10 个或多或少的同时执行此脚本的实例,我稍后将能够通过调用来检索每个用户的各自名称

var username = userProperties.getProperty('name');

我的印象是,有时会发生某种干扰,导致检索的值与为这个或那个用户存储的值不同。在这里会很清楚。

标签: google-apps-script

解决方案


重要的:

UserProperties已被弃用,请改用PropertiesService.getUserProperties()

正如您在文档中看到的

获取用户属性()

获取只有当前用户才能访问的属性存储,并且只能在此脚本中访问。

因此,确实,如果脚本可以被多个用户访问,PropertiesService.getUserProperties()将始终检索运行脚本的特定用户的属性,并且如果将同时执行 10 个脚本 - 每个执行脚本的用户将检索不同的用户属性。


推荐阅读