我对doPost做错了什么?

时间:2016-10-07 09:43:12

标签: google-apps-script

我正在尝试获取一个部署为Web应用程序的简单应用程序脚本,返回用户下载的文本文件。但是,我甚至无法让doPost工作!关于SO的所有类似问题都表示你需要每次重新发布一个新版本才能让它工作,但我这样做,我仍然什么也得不到。事实上,我得到的只是HTML代码作为字符串告诉我URL不存在。

这是我的代码:

function doPost(e) {
  return ContentService.createTextOutput(e);
}

function testPost() {
  var url = ScriptApp.getService().getUrl();

  var params = {
    "method": "POST",
    "payload": "this is a test string to see if i can make a post work",
    "followRedirects": true,
    "muteHttpExceptions": true
  };

  var response = UrlFetchApp.fetch(url, params);

  Logger.log(response.getContentText());
}

我无法理解为什么我无法运行testPost函数并从doPost获得响应。我必须完全错过一些简单的东西。谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解正确,当用户访问该网址时,您希望它自动下载文本文件?为此,您需要使用downloadAsFile()方法,告诉浏览器下载文件而不是显示内容。您的代码应如下所示:

<table>
 <tr>
  <td><strong>Student Id</strong></td>
  <td><strong>Student Status</strong></td>
</tr> 
 <?php foreach($status as $stat){?>
 <tr>
     <td><?php echo $stat->studentid;?></td>
     <td><?php echo $stat->studentstatus;?></td>
       <td> <fieldset class="submit_field">
         <input type="hidden" name="student_id" value="<?php echo $stat->studentid;?>" />  
          <?php echo form_submit('mysubmit', 'ACCEPT'); ?>
       </fieldset></td>

  </tr>     
 <?php }?>