Google apps script google应用程序脚本中的Web服务用于接收文件

Google apps script google应用程序脚本中的Web服务用于接收文件,google-apps-script,Google Apps Script,众所周知,我们可以使用googleapps脚本编写简单的web服务,并在doGet(e)中处理GET请求。e包含参数。 类似地,doPost(e)将处理POST请求,e将包含参数 我想知道如何才能从自定义客户端(例如android应用程序)发送一个文件(没有google forms或input type=file)并在doGet中处理它。我在任何地方都找不到任何样本(不使用input type=file) 您的HTML表单可以使用google.script.run调用此服务器端方法,并应将文件保

众所周知,我们可以使用googleapps脚本编写简单的web服务,并在
doGet(e)
中处理GET请求。e包含参数。 类似地,doPost(e)将处理POST请求,e将包含参数


我想知道如何才能从自定义客户端(例如android应用程序)发送一个文件(没有google forms或input type=file)并在doGet中处理它。我在任何地方都找不到任何样本(不使用input type=file)

您的HTML表单可以使用google.script.run调用此服务器端方法,并应将文件保存到google Drive

function save(form) {

  try {

    var blob = form.myFile;    
    var file = folder.createFile(blob);    

    return "File uploaded successfully " + file.getUrl();

  } catch (error) {

    return error.toString();
  }

}

From:

在传递给doPost(e)方法时,form.myFile似乎不是blob类型。相反,它是字符串类型

我的问题是:Google脚本引擎在准备传递给这两个方法的参数e时,对doGet和doPost的处理是否有所不同

服务器端:

function doPost(e) {

    var blob = e.parameter.myFile;
    // the variable blob is NOT a Blob type, but a string type

    // Other code ...
}

在客户端,从.NET客户端“发布”了一个二进制文件,并通过我自己的上传服务器进行了验证,该发布工作正常。

最后,来自主控者本人的答案!我喜欢你博客ctrlq上的文章。在我的例子中,我没有使用html表单,所以我不能使用任何javascript函数,比如google.script.run。我必须从一个定制客户端(比如安卓应用程序)上传http帖子来保存文件。它仍然可用。只需将代码放在doGet中,然后使用contentService返回状态。