1

ここに投稿されたワークフロー スクリプトの拡張に取り組んでいます...

James Ferreira ワークフロー ビデオ。

スクリプトを拡張し、電子メールに関してはすべて正常に動作していますが、doGet() 関数が正常に動作しないという問題が発生しています。

ビデオのコードは次のとおりです: (sendEmail の mycode は異なり、ドキュメント テンプレートを使用するため、正常に動作します。

function sendEmail(e) {
  var email = e.values[1];
  var Item = e.values[2];
  var cost = e.values[3];  
  var url = '<ENTER YOUR PUBLISHED URL>';  
  var approve = url + '&approval=true'+'&reply='+email; 
  var reject = url + '&approval=false'+'&reply='+email;

  var html = "<body>"+
            "<h2>Please review</h2><br />"+
            Item +": " + cost+ "<br />"+ 
            "<a href="+ approve +">Approve</a><br />"+
            "<a href="+ reject +">Reject</a><br />"+
         "</body>";

  MailApp.sendEmail("jjones@beaconcloudsolutions.com", "Approval Request", 
                "What no html?", {htmlBody: html});  
}

function doGet(e){ 
  var answer = (e.parameter.approval == 'true') ? 'Buy it!' : 'Not this time, Keep saving';   
  MailApp.sendEmail(e.parameter.reply, "Purchase Request", 
                "Your manager said: "+ answer);     
  var app = UiApp.createApplication();
 app.add(app.createHTML('<h2>An email was sent to '+ e.parameter.reply + ' saying: '+ answer + '</h2>'))
  return app
}

したがって、スクリプトを実行すると、承認/拒否のリンクを示すメールが届きますが、承認または/拒否のリンクを選択すると、

「申し訳ありませんが、リクエストされたページ (またはドキュメント) は存在しません。」「アドレスを確認して、やり直してください。」

このリンクは、var URL に記載されている公開済みの Web アプリケーションにリダイレクトされ、var 承認または拒否のいずれかが追加され、基本的な HTML ページが表示されるだけです。

何が間違っているかについて何か提案はありますか?スクリプトは承認されています。

4

1 に答える 1

0

メールのリンクをクリックすると、アドレスバーに何と表示されますか? おそらく何かの形式が間違っているか、正しくエンコードされていない可能性があります。

今の私の直感では、「?」が欠けているということです。パラメータを追加する前に。

おそらくこれを試してください-

      //note the ? instead of &
      var approve = url + '?approval=true'+'&reply='+email; 
      var reject = url + '?approval=false'+'&reply='+email; 
于 2012-11-05T21:51:28.817 に答える