2024-11-23|閱讀時間 ‧ 約 0 分鐘

app script 依不同使用者儲存變數的方法

在app script 程式中要依不同的使用者儲存變數,大致上有三個方式

1.存在外面的資料庫, 利用JDBC 的方式去連結

2.存在能區分使用者的google sheet工作表中

3.使用app script 中PropertiesService  下的getUserProperties() 方法。這應該類似網頁語由的cookie 或者 後語言的session。

今天記錄第三種方法,這也是「bot.學習.人」摸索一陣子才發現的方法。

大概有三個步驟,第一個步驟,先宣告一下。

const userProperties = PropertiesService.getUserProperties();

第二個步驟,設定

userProperties.setProperty('USER', 'bot');

也就是說,建立了一個鏈結關係,USER 就是bot了。下次程式再使用,只要使用第三個步驟。

第三個步驟,使用

const units = userProperties.getProperty('USER');

這時,這個units 就是'bot' 了。

如果,要真的做到依使用者不用而有不同的變數,要怎麼做呢?

「bot.學習.人」想到的,就是第二個步驟要修改成

userProperties.setProperty(USERid, USER變數); 
//USERid 要設定成可以判別使用者的id 身份,如Line ID 或手機號
//USER變數,可以放這個使用者的專屬變數,如果是要儲存一堆變數,要放的就是Object,然後把Object 變成string

如此一來,就可以了,相信不會太困難。基本上也實測過了,是實際可行的。目前正在telegram 的專案實際運用中 。





分享至
成為作者繼續創作的動力吧!
「恩欲報,怨欲忘;報怨短,報恩長」自從某一天翻到這句話之後,就覺得對天地充滿了感謝。
© 2024 vocus All rights reserved.