I created a script to upload files from local to Google Drive using post method, I tried to upload using curl but it doesn't work and I get the error Could not decode string.
Google Apps Script code:
function doPost(e) {
var folder, folders = DriveApp.getFoldersByName("Uploads");
if (folders.hasNext()) {
folder = folders.next();
} else {
folder = DriveApp.createFolder("Uploads");
}
var data = Utilities.base64Decode(e.parameters.data);
var blob = Utilities.newBlob(data, e.parameters.mimetype, e.parameters.filename);
var id = "Your File Download Link: https://drive.google.com/uc?id="+folder.createFile(blob).getId();
return ContentService.createTextOutput(id)
}
My curl command:
curl -i -X POST -H 'Content-Type: multipart/form-data' -F 'data=test.png' https://script.google.com/macros/s/AKfycbwcGij0UNl8c9OJEpHbUvGF4KTJYbBOkDA9m882BLJVnWpFrc4/exec