2014年2月21日金曜日

Googleドライブでフォームをつくる

iOSアプリを公開するためにはサポートサイトが必要です。
そして、そのサイトには開発者への何かしらの連絡手段がなければいけません。
個人が特定されないような手段としてはフォームがよいと思います。
そこでGoogleドライブで作ってみてはいかがでしょうか。


まずはGoogleドライブでこのようなフォームを作ります。




これだけだと、スプレッドシートにデータが溜まるだけなので、入力されたかどうか確認しなければなりません。
そこで、入力されたときにメールが飛ぶようにしましょう。


回答のスプレッドシートに以下のようなスクリプトを作成します。

=====================================
function sendMailFromForm() {

    // 件名、本文、フッター
    var subject = "お問い合わせ"; 
    var body = "";

    // メール送信先
    var admin = "hogehoge@gmail.com"; // 管理者(必須)
    var cc    = "";    // Cc:
    var bcc   = ""; // Bcc:
    var reply = ""; // Reply-To:
    var to    = admin;    // To: 

    try{
        // スプレッドシートの操作
        var sh   = SpreadsheetApp.getActiveSheet();
        var rows = sh.getLastRow();
        var cols = sh.getLastColumn();
        var rg   = sh.getDataRange();
        Logger.log("rows="+rows+" cols="+cols);

        // メール件名・本文作成と送信先メールアドレス取得
        for (var j = 1; j <= cols; j++ ) {
            var col_name  = rg.getCell(1, j).getValue();    // カラム名
            var col_value = rg.getCell(rows, j).getValue(); // 入力値
            body += "【"+col_name+"】\n";
            body += col_value + "\n\n";
        }

        // 送信先オプション
        var options = {};
        if ( cc )    options.cc      = cc;
        if ( bcc )   options.bcc     = bcc;
        if ( reply ) options.replyTo = reply;

        // メール送信
        if ( to ) {
            MailApp.sendEmail(to, subject, body, options);
        }else{
            MailApp.sendEmail(admin, "error", body);
        }
    }catch(e){
        MailApp.sendEmail(admin, "error", e.message);
    } 
}
==================================

これを以下のようにトリガーで設定するだけでOKです。




フォームはこのようなメールフォーム以外にもアンケートなど幅広く使えるので覚えておくと便利です。


0 件のコメント:

コメントを投稿