3

내 Google 스프레드 시트에서 각 행의 셀을 마지막으로 수정 한 것을 기록합니다.Google 스프레드 시트 스크립트 - 사용자 이메일을 기록하지 않습니다.

누군가가 비어있는 사용자 이름 또는 ?을 보여주는 다른 계정에서 편집 할 때 내 계정에서 셀을 편집하면 내 사용자 (전자 메일)를 기록합니다.

다음은 Google 스크립트입니다. 내가 편집

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

결과 :

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

결과 다른 사람 편집은 :

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

답변

3

문서는 직접이 문제를 해결하기 위해 표시되지 않습니다. 이론적으로이 이벤트는 owner of the spreadsheet을 리턴해야합니다 (감사 추적을 작성하려는 경우 어쨌든 원하는 것은 아닐 수도 있습니다).

getActiveUserhere의 설명에 설정된 선례에 따라 의도적으로 보안 정책을 수행 한 것처럼 보입니다. Session에서 제공하는 다양한 방법으로 사용자에게 액세스를 시도하고 더 나은 행운이 있는지 확인할 수 있습니다.

+1

감사! 'getEffectiveUser' 제대로 작동합니다. – BlackTea