Romain Vialard と James Ferreira の本 (変更) からのこの Google Apps Script 提案ボックス ライブラリを使用して、Google スプレッドシートにオートコンプリート機能 (スプレッドシートのポップアップ ウィンドウの Ui) を追加しようとしています。
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "my_sheet" ) { //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 1) {
var names = ["Adam", "Peter", "Benjamin", "Ceaser", "Prometheus", "Gandi", "Gotama", "Mickey Mouse"];
var app = UiApp.createApplication();
var suggestBox = SuggestBoxCreator.createSuggestBox(app, 'contactPicker', 200, names);
app.add(suggestBox);
SpreadsheetApp.getActive().show(app);
var dataCell0 = r.offset(0, 1);
var dataCell0 = r.offset(0, 1);
if( dataCell0.getValue() == '' )
otherTestTunction();
}
}
}
しかし、「my_sheet」の列 1 の編集を開始して Ui ボックスが表示されると、この自動化エラーが発生します (私の言語では、「このアクションを実行するには権限が必要です」と表示されます)。
ドキュメントによると、onEdit() トリガーは「そのユーザーとしての認証が必要なサービスにはアクセスできません。たとえば、Google 翻訳サービスは匿名であり、単純なトリガーでアクセスできます。Google カレンダー、Gmail、およびサイトは匿名ではなく、単純なトリガーはこれらのサービスにアクセスできません。」
私は を使用していないのでContactsApp
、候補ボックス ライブラリには認証が必要だと思います。
承認を求める、インストール可能な on Edit トリガーを設定するにはどうすればよいですか? (コードサンプルを教えていただけますか?)
これが私のテスト用スプレッドシートです: https://docs.google.com/spreadsheet/ccc?key=0AtHEC6UUJ_rsdFBWMkhfWUQ0MEs2ck5OY1BsYjRSLXc&usp=drive_web#gid=0