我试图从Google Drive下载一个特定的*.csv
文件到我的电脑本地文件夹。我尝试了以下方法,但都没有成功:
ContentService.createTextOutput().downloadAsFile(fileName);
我没有收到任何错误提示,也没有任何显示。您认为我的尝试存在什么问题吗?
我试图从Google Drive下载一个特定的*.csv
文件到我的电脑本地文件夹。我尝试了以下方法,但都没有成功:
ContentService.createTextOutput().downloadAsFile(fileName);
doGet()
函数的一行主体,您已将其部署为Web应用程序,那么您看不到任何内容的原因如下:
ContentService
- 使用Content Service,并且....createTextOutput()
- 创建一个空文本输出对象,然后....downloadAsFile(fileName)
- 当浏览器调用我们的Get
服务时,让它下载内容(名为fileName
),而不是显示它。由于我们没有内容,所以没有什么可以下载的,因此您看到了,呃,没什么。
此脚本将获取Google Drive上csv文件的文本内容,并将其提供下载。保存脚本版本并将其发布为Web应用程序后,您可以将浏览器定向到发布的URL以开始下载。
根据您的浏览器设置,您可以选择特定的本地文件夹和/或更改文件名。从运行此脚本的服务器端,您无法控制它。
/**
* This function serves content for a script deployed as a web app.
* See https://developers.google.com/apps-script/execution_web_apps
*/
function doGet() {
var fileName = "test.csv"
return ContentService
.createTextOutput() // Create textOutput Object
.append(getCsvFile(fileName)) // Append the text from our csv file
.downloadAsFile(fileName); // Have browser download, rather than display
}
/**
* Return the text contained in the given csv file.
*/
function getCsvFile(fileName) {
var files = DocsList.getFiles();
var csvFile = "No Content";
for (var i = 0; i < files.length; i++) {
if (files[i].getName() == fileName) {
csvFile = files[i].getContentAsString();
break;
}
}
return csvFile
}
curl
。这里有很多示例在 Stack Overflow 上。 - Mogsdad