前提・実現したいこと
GASでLine botを作成しています。
googleカレンダーに登録する機能をBotに付けていますが、同時に他のユーザがbotと会話をした時に、データがぐちゃくちゃになるのを避けたいのですがどうすれば回避できるのかが分かりません。useridで管理すればいいと言うのは分かりますが、そのデータの保存方法が分かりません。
JSON
1{ 2"userinfo" : 3{ 4"name" : "xxxx", 5"id" : "yyy" 6"state" :1, //次の処理を決める. 7"groupid" :["aaa"] 8}, 9{ 10"userinfo" :{ 11"name" : "xxxx", 12"id" : "yyy" 13"state" :1, //次の処理を決める. 14"groupid" :["aaa"] 15} 16}
上記のようなJSONを用いて解決しようと試みましたが、
JSONをうまくキャッシュに保存できず。JSON.stringifyを試しましたが、うまくいきませんでした。キャッシュに保存するときのKey名を各userのIDにできればいいのですがそのような方法はありませんか?また、このJSONで保存する方法より効率的な方法があれば教えて頂きたいです。
現在は、キャッシュを用いて「いつなのか」「何時から何時までなのか」「イベント名」をbot側が聞いています。キャッシュで状態を保存して、このキャッシュのデータを基に次の処理にプログラムを進めています。しかし、この方法だと、どうしても2人以上同時にbotと会話をすると問題が起きてしまいます。(https://qiita.com/MxShun/items/7a563a795d41cdc0f1dc
のページの仕組みと同様なキャッシュの使い方をしています)