3

In my Google Spreadsheet I log last modification of cell in each row.

When I edit cells from my account it records my user (as email), when somebody makes a edit from other account it shows empty user name or ?.

Here goes Google script.

function onEdit(e) {
...
  ss.getRange(r.getRow(), ss.getLastColumn()).setValue(e.user.getEmail() + " " + date + " \"" + column_name + "\"");
...
}

Result when I edit:

*******@gmail.com 11:09 [08-11-2012] "SOME VALUE"

Result when somebody else edits:

? 09:54 [08-11-2012] "SOME VALUE"
4

1 に答える 1

3

ドキュメントはこれに直接対処していないようです。理論的には、そのイベントはスプレッドシートの所有者を返す必要があります(監査証跡を作成しようとしている場合は、いずれにせよ、これは望ましくない可能性があります)。

getActiveUser hereの説明で設定された先例に基づいて、意図的なセキュリティ ポリシーの動作のように思われます。によって提供されるさまざまな方法でユーザーにアクセスしてみて、Sessionうまくいくかどうかを確認してください。

于 2012-11-08T17:41:14.463 に答える