The code below contains the createFile() API, it expects a single object (named "file" here). In this way the file can be saved in some google drive folder
function uploadFiles(data)
{
var file = data;
var folder = DriveApp.getFolderById('1UWGb5Mzr9VzPUuQTr9CWD7EMYNEAzyuC');
var createFile = folder.createFile(file);
return createFile.getUrl();
}
Now I want to combine this function to another webpage. However, the script in another webpage is below:
for (clipIndex = 0; clipIndex < unrollWordCounts(getAllWantedWords()).length; clipIndex++) {
try {
var clip = allClips[clipIndex];
clip.style.display = 'None';
var audioBlobUrl = clip.querySelector('audio').src;
var word = clip.querySelector('p').innerText;
var filename = word + '_' + Date.now() + '.ogg';
saveAs(audioBlobUrl, filename);
google.script.run.withSuccessHandler(onSuccess).uploadFiles(audioBlobUrl);
}
The data I want to upload to google drive is audioBlobUrl. However, the createFile() of app script expect a file. It seems like audioBlobUrl is not a file. How should I modify the code, so that it can pass the expected data to google createFile() to achieve my aim?
another webpage
in your question, in this case, which is the web page on Google or other site? If the web page is on Google, the simple method usinggoogle.script.run
can be used. But if the web page is not on Google, it is required to deploy your Google Apps Script as Web Apps and send the data with the HTTP request from the Javascript side. How about this? – Tanaikethe webpage is on google and in the same app script project. I have no issue calling the app script functions.
, can you provide your script? Because, unfortunately, from your showing script, I cannot know about your script for communicating to Google Apps Script side. So I cannot imagineThe problem is I can't get the right data type that is suitable to pass into the app script createFile() function
. This is due to my poor skill. I deeply apologize for this. I would be grateful if you can forgive my poor skill. – Tanaikegoogle.script.run.withSuccessHandler(onSuccess).uploadFiles(audioBlobUrl)
. It replaces the position ofsaveAs()
in the current post. And it doesn't work as I expected since audioBlobUrl is not a correct datatype. The createFile function expects a datatype of file. – owo ouo