Google Apps Script の勉強 その33 Webアプリケーション、20人同時アクセス成功!
Dekaatamaです。

以前、
「メンバーがWebページのリンクをクリックすると、メンバーのアドレスを自動取得してその人の個人情報のみを表示する」
というミッションに対してGoogle Apps Script を使ってスクリプトを書きました。
1)全員のデータが入ったGoogleスプレッドシートにQUERY関数を使用して個人情報をセレクトする。
この方法では、次の様な問題が出てきました。
QUERY関数使用のためにはGoogeスプレッドシートの共有設定を「リンクを知っているメンバー全員が編集可」にする必要があります。
しかし、この設定にすると閲覧したメンバーのGoogleDriveの「共有アイテム」や「最近使用したアイテム」にGoogleスプレッドシートの履歴が残ってしまい、それをクリックすることで全員が閲覧できてしまうことでした。
この問題は、
2)Googleスプレッドシート全体を一旦配列に読み込んでGoogle Apps Script で検索をかけるスクリプトを書くことで回避することができました。
結構処理時間がかかります(^_^;)
次に気になったのは
3)Google Apps Script で作った「Webアプリケーションへの同時アクセス」はどの程度可能なのかということです。
以下の記事などをみると、「Googleスプレッドシートへの書き込み」を想定しています。
officeforest.org
しかし、2)の処理は、「Googleスプレッドシートを読み込むだけ」なので、この記事に書いてあるような「排他制御は必要か?」という疑問が湧いてきました。
またまた、職場の皆さんに協力願って「同時接続」を実行して見ました。
エラー続出なら「排他制御」のスクリプトを入れないと行けませんが…
取りあえず、20人同時接続に成功しました!
1件のエラーもでませんでした。
素晴らしい!