2016-06-06 8 views
0

У меня есть полностью статический сайт (без и бэкэнд) с form. Когда пользователь отправляет мою форму, я делаю запрос jsonp на Google Apps Script. Мой ГАЗ обрабатывает запрос и сохраняет данные формы выпученной таблицы со следующей структурой:Как сгенерировать и где хранить уникальный идентификатор для клиента?

 Name  |  Age  |  City 
    ------------------------------------ 
     Eric  |  23  |  NYC 

Теперь мне нужно хранить идентификатор уникальные для каждого пользователя и хранить, как это:

 ClientId |  Name  |  Age  |  City 
    --------------------------------------------------- 
     dhs3kwhe |  Eric  |  23  |  NYC 

Я не» t любые ограничения относительно формата clientId, но сингл - тот, что clientId должен быть уникальным для любого клиента.

Это похоже идентификатор сеанса, и было бы здорово использовать его, но поскольку у меня нет бэкэнд, я не могу создать этот.

Что такое лучший способ решить мою проблему?

EDIT:

Позвольте мне немного, но объяснить мою проблему. Мне не нужно генерировать уникальный идентификатор, который я мог бы генерировать с помощью некоторых алгоритмов. Мне нужно создать clientId для каждого пользователя. Скажите User A заполнить и отправить форму и мы его генерируем clientId like jshhsd3. В следующий раз User A заполняется и отправляет форму, он должен получить тот же идентификатор jshhsd3.

Другой User B будет иметь собственный clientId, когда он представит мою форму.

+0

Возможный дубликат [Google Apps Script - уникальный идентификатор счетчика] (http://stackoverflow.com/questions/15397000/google-apps-script-unique-id-counter) – EnigmaRM

+0

Кажется, другие столкнулись с той же проблемой, что и вы. Я связал один из ответов выше. одним из возможных вариантов является добавление номера строки в текст, который вы передаете с помощью формы. В принятом ответе описывается это решение. – EnigmaRM

+0

Другой вариант для вас в зависимости от объема вашего приложения, используйте отметку времени UTC для идентификатора. – EnigmaRM

ответ

0

Session.getActiveUser(). GetEmail() предоставит вам уникальный адрес электронной почты google для каждого пользователя.

Чтобы сохранить каждый идентификатор? Попробуйте:

var userId = Session.getActiveUser().getEmail(); 
var scriptProperties = PropertiesService.getScriptProperties();  
scriptProperties.setProperty('username', userId); 
+0

К сожалению, это не работает для меня, потому что пользователи, которые выполняют мой скрипт через запрос JSONP, могут не войти в учетную запись Google. Поэтому мои скрипты доступны для анонимных пользователей также – Erik