0

アクティブユーザーを取得してユーザーのメールアドレスに基づいてコードを実行するonOpen()トリガーを持つスプレッドシートを作成しました。私が持っている問題は、他の誰かがそれに入っている間に誰かがシートを開くと、トリガーコードが現在のユーザーが働いていたものを混乱させることです。GoogleスプレッドシートJavascript - 現在のセッションに参加しているユーザーの数

誰かがすでにファイルに入っていても、新しいユーザーを表示する方法がありましたが、何時間も探していて何も見つかりませんでした。

現在、シートに含まれている人の数を確認する方法はありますか?私はちょうど私のトリガーにこのような何かを追加したいと思います:

var currentusers = sheet.getActiveUsers() //<--- Something like this exist? 

if (currentusers > 1) { 
//Some fancy function here 
} 
+0

私は、これはあなたが(getViewers)探しているものであるかどうかわからないですhttps://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getViewers()しかし、私はそれを確認していませんあなたが望むように動作します。それにもかかわらず、試してみてください。 –

+0

コメントをいただきありがとうございますが、これは 'getEditors()'と同じように動作すると思いますが、現在のセッションのユーザーではなく表示権限を持つユーザーの一覧のみを返します。 –

答えて

0

スクリプトを実行している現在のユーザーに関する情報を返しますSession#getActiveUser()

// Log the email address of the person running the script. 
var email = Session.getActiveUser().getEmail(); 
Logger.log(email); 
+0

私はgetActiveuser()とLoggerの使い方を知っていますが、ユーザーがシートを離れるときはわかりませんが、これをスクリプトに組み込む方法がわかりません。私は電子メールアドレスを記録することができましたが、新しいユーザーがシートに入ったときにそれらがまだアクティブであるかどうかをどのように伝えることができますか? –

関連する問題