Нужна некоторая ясность с userProperties ГАЗА - PullRequest
0 голосов
/ 16 февраля 2020

Я программирую бота Telegram с помощью GAS. Правильно ли я думаю, что всякий раз, когда я сохраняю что-то с помощью userProperties, например

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

, значение сохраняется для этого конкретного экземпляра сценария И для этого конкретного пользователя? Означает ли это, что если десять или более пользователей одновременно используют более 10 экземпляров этого сценария, я позже смогу получить соответствующее имя каждого пользователя, позвонив по номеру

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

У меня сложилось впечатление, что иногда происходит какое-то вмешательство, которое приводит к получению значений, отличных от тех, которые хранятся у того или иного пользователя. Буду признателен за некоторую ясность здесь.

1 Ответ

1 голос
/ 17 февраля 2020

ВАЖНО:

UserProperties устарело, вместо этого используйте PropertiesService.getUserProperties () .

Как вы можете видеть в документации

getUserProperties ()

Получает хранилище свойств, к которому имеет доступ только текущий пользователь, и только в пределах этот скрипт.

Таким образом, если к скрипту могут обращаться несколько пользователей, PropertiesService.getUserProperties() всегда будет извлекать свойства указанного пользователя c, который его запускает, и если будет 10 одновременных выполнений сценария - каждый пользователь, выполняющий сценарий, получит разные пользовательские свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...