2017-01-27 26 views
0

ここでは、私はreplyEmailにメールを送信しようとしています。しかし、それはundefinedという値を与えています。なぜ私は正しい形式の電子メールIDをGoogleフォームに与えているのですか?いくつかの時間は、その正しい来る。しかし、別の時間のためにそれはundefined値として与えます。未定義の値を取得する:

function sendEmail(e) { 
    /** 
    var email = e.values[1]; 
    var item = e.values[2]; 
    var cost = e.values[3]; 
    */ 

    var serviceInformation = e.values[1], 
     language = e.values[2], 
     meetingType = e.values[3], 
     eventDate = e.values[4], 
     clientName = e.values[5], 
     detailedDirections = e.values[6], 
     onSitePOCName = e.values[7], 
     onSitePOCNumber = e.values[8], 
     department = e.values[9], 
     contactPhoneNumber = e.values[10], 
     approval = e.values[11]; //the one we need to modif, 
     requestorEmail = e.values[12], 
     managerEmail = e.values[13], 
     Language2 = e.values[14], 
     interpreterName = e.values[15], 
     interpreterAgency = e.values[16], 
     dateConformationSent = e.values[17], 
     specialNotes = e.values[18]; 


    var url = 'https://script.google.com/a/macros/richmond.k12.va.us/s/AKfycbwuRr1boKTH0v1mprWmc7PE66_mQ_dmPE0lyWb7vkfiyW3pn31b/exec'; 


    // might be that the & needs to be a ? 
    var approve = url + '?approval=true' + '?reply=' + requestorEmail; 
    var reject = url + '?approval=false' + '?reply=' + requestorEmail; 

    var html = "<HTML><body>"+ 
     "<h2>please review</h2><br />" 
     +"<P>" + language +" " + serviceInformation 
     +"<p>" + meetingType+ " on "+ eventDate + " for " +clientName 
     +"<p>" + "Location: "+ department 
     +"<p>" + "requester: "+ requestorEmail+ " "+ 
     "<p>"+ 

     "<a href="+ approve +">Approve</a><br />"+ 
     "<p>"+ 

     "<a href=" +reject+">Reject</a><br />"+ 
    "</HTML></body>"; 

    var html = [ 
     "<html>", 
      "<body>", 
       "<h2>please review</h2> <br/>", 
       "<p>" + language +" " + serviceInformation, 
       "<p>" + meetingType + " on " + eventDate + " for " + clientName, 
       "<p>Location: " + department, 
       "<p>Requester: " + requestorEmail, 
       "<p><a href=" + approve + ">Approve</a><br/>", 
       "<p><a href=" + reject + ">Reject</a><br />", 
      "</body>", 
     "</html>"; 
    ].join(''); 

    MailApp.sendEmail(managerEmail, "Approval Request", "what no html?", { 
     htmlBody: html 
    }); 
} 


function doGet(e) { 
    var app = UiApp.createApplication(), 
     aprovalResponce = (e.parameter.approval == 'true') ? 'Approved.' : 'Sorry, you need to reschedule', 
     msg = "Your manager said :" + aprovalResponce; 

    var replyEmail = e.parameter.reply; // !!! 

    Logger.log(replyEmail); 

    MailApp.sendEmail(replyEmail, "Approval Request", msg); 

    var helloWorldLabel = app.createLabel(msg); 
    app.add(helloWorldLabel); 

    return app; 
} 
+0

クエリパラメータの形式が正しくないようです。それらは 'example.com/test?param1 = true&param2 = something'でなければなりません。あなたのコメントを見て、私はあなたが一点で正しいと思うでしょう。 – erbridge

答えて

0

そのグーグルscript.Itでデータの解析中に空間が受け入れられないために符号化されるべきであり、次いで、データをsend.ItするencodeURIComponentで()を使用して符号化することができます。

関連する問題