ダイアログボックスにHTMLの入力Type = "file"要素を使用してファイルをアップロードすることができます。
GSスクリプト:
// Your menu item must call FileUplaodDialog when clicked.
function FileUploadDialog() {
var html = HtmlService.createHtmlOutputFromFile('FileInput')
.setHeight(100)
SpreadsheetApp.getUi()
.showModalDialog(html, 'File upload dialog');
}
function uploadFile(frmdata) {
var fileBlob = frmdata.fileToUpload
if(fileBlob.getName() != "") {
var fldrSssn = DriveApp.getFolderById("Your Folder ID Here");
var picFile= fldrSssn.createFile(fileBlob);
}
}
HTMLファイル:FileInputクラス
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="fileform" onsubmit="event.preventDefault()">
<input type="file" id ="file" name="fileToUpload">
<input type="Button" value="Upload" onclick="uploadthis(this.parentNode)">
</form>
</body>
<script>
function uploadthis(frmData){
google.script.run
.withSuccessHandler(closeDialog)
.withFailureHandler(alertFailure)
.uploadFile(frmData);
}
function closeDialog(){
google.script.host.close()
}
function alertFailure(error){
google.script.host.close()
alert("failed Upload"+error.message)
}
</script>
</html>
は基本的に、これはfileBlobを取得するために使用することができます]ダイアログボックスでフォームを作成します。このfileBlobは、ドライブにファイルを作成するために使用されます。