私はここ数日間、クリックして回答を探していますが、私にとって意味のあるものは見つけられないようです(私を許して、私はGASをかなり新しくしている)。私は約12人のユーザーが使用するFantasy Golf Draftシートを設定しようとしていますが、その半数以上はGmailアドレスを使用していない/していません。ファイルへのアクセス権は問題ありません。スクリプトを実行しようとしているところです。ボタン/シェイプをクリックすると、次に選択する人に自動メールが送信されます。スクリプトの機能は、自分自身やスクリプトなどの権限を付与できるGoogleアカウントを持っているユーザーから来ているときに機能しています.Googleアカウントを持たないユーザーは、問題に遭遇します。シンプルなGoogle Appsスクリプトでは、ファイルにアクセスしている人に関係なく、オーナーアカウントからスプレッドシートからメールを送信します
私の質問 - 誰がボタンを修正/クリックしているかにかかわらず、自分の電子メール、またはシート/スクリプト所有者の電子メールからのみ送信するようにスクリプトを設定するにはどうすればよいですか?これを行うためのスクリプトを作成するためのリンクがwebappとして表示されていますが、すぐに失われます。
は、ここに私のシートへのリンクです: [https://docs.google.com/spreadsheets/d/16AppcmrcuhatnzcEs7eIQyD_p1swbRimRZZ4FdbhBKI/edit?usp=sharing][1]
そして、ここに私のメール送信コードさ:
function sendAlertEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Send Mails"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:f2");
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var emailAddress = rowData[1];
var recipient = rowData[0];
var message1 = rowData[2];
var message2 = rowData[3];
var message3 = rowData[4];
var message4 = rowData[5];
var message = 'Hey ' + recipient + ',\n\n' + message1 + '\n\n' + ' The last player picked was ' + message2 + '\n\n' + message3 +'\n\n' + message4;
var subject = '*GOLF DRAFT 2018* - YOU ARE ON THE CLOCK';
MailApp.sendEmail(emailAddress, subject, message);
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("DRAFT"));
}
}
任意の助けいただければ幸いです!
Jasonに感謝します。巨大な助け!非常にクールなもの。 – saucepaws