

スプレッドシートのセルの保護をGoogle apps
Scriptで試していて、下記のスクリプトを実行したらGoogleアカウントに入らず、スクリプトを実行すると下記エラーが表示されるようになってしまいました。

> スクリプト XXXX でエラーが発生しました

※「リンクを知っている全員が編集可」となっており、実際に編集すること自体はGoogleアカウント以外の人からも可能。

動かしたスクリプトは公式ヘルプにある下記のコードです。

【公式ヘルプ】  
<https://developers.google.com/apps-script/reference/spreadsheet/protection>

[code]

     // Protect range A1:B10, then remove all other users from the list of editors.
     var ss = SpreadsheetApp.getActive();
     var range = ss.getRange('A1:B10');
    
     var protection = range.protect().setDescription('Sample protected range');
    
     // Ensure the current user is an editor before removing others. Otherwise, if the user's edit
     // permission comes from a group, the script will throw an exception upon removing the group.
     var me = Session.getEffectiveUser();
     protection.addEditor(me);
     protection.removeEditors(protection.getEditors());
     if (protection.canDomainEdit()) {
       protection.setDomainEdit(false);
     }
    
[/code]

なお、Googleアカウントログイン状態からスクリプトを実行すると正常に終わりました。  
困っているのは、このスクリプトにかかわらず、他のスプレッドシートも含めて  
すべてのスクリプトが同じ現象になっていることです。

ご存知の方がいらっしゃいましたら、どうかご教示頂きたく、お願い申し上げます。


CC BY-SA 3.0
2016-12-12T07:01:03.400
31092
2017-03-21T06:32:49.537
2016-12-13T00:02:54.127
19885
question
google-apps-script
Googleアカウント以外の人がスクリプトを実行できなくなりました


自己回答します。  
公式ヘルプのスプレッドシートのセルの保護を実行したことは無関係でした。  
単にGoogleアカウントにログインしていない場合は、Google apps Scriptを実行する権限がないようでした。


CC BY-SA 3.0
2016-12-14T03:19:47.477
31138
2016-12-14T03:19:47.477
31092
answer