Back to Templates
This lightweight Google Apps Script acts as a server endpoint that receives a file URL (from n8n
), downloads the file, uploads it to your specified Google Drive folder, and responds with the file’s metadata (like Drive file ID and URL). This is useful for large video/audio files that n8n
cannot handle directly via HTTP Download nodes.
DriveUploader
Replace the default Code.gs
content with the following (your custom script):
function doPost(e) {
const SECRET_KEY = 'your-strong-secret-here'; // Set your secret key here
try {
const data = JSON.parse(e.postData.contents);
// 🔒 Check for correct secret key
if (!data.secret || data.secret !== SECRET_KEY) {
return ContentService.createTextOutput("Unauthorized")
.setMimeType(ContentService.MimeType.TEXT);
}
const videoUrl = data.videoUrl;
const folderId = 'YOUR_FOLDER_ID_HERE'; // Replace with your target folder ID
const folder = DriveApp.getFolderById(folderId);
const response = UrlFetchApp.fetch(videoUrl);
const blob = response.getBlob();
const file = folder.createFile(blob);
file.setName('uploaded_video.mp4'); // You can customize the name
return ContentService.createTextOutput(file.getUrl())
.setMimeType(ContentService.MimeType.TEXT);
} catch (err) {
return ContentService.createTextOutput("Error: " + err.message)
.setMimeType(ContentService.MimeType.TEXT);
}
}
---
### 3. Generate & Set Up Secret Key
To allow authorized post requests to your script only, we need to generate a secret key from aany reliable key generator.
- You can head over to [acte](https://acte.ltd/utils/randomkeygen), click generate and copy the "Encryption key 256".
- Paste it in the 'your-strong-secret-here' placeholder in your script then click save
```js
const SECRET_KEY = 'your-strong-secret-here'; // Set your secret key here;
/folders/
https://drive.google.com/drive/u/0/folders/1Xabc12345678defGHIJklmn
var folderId = "1Xabc12345678defGHIJklmn";
Upload from URL to Drive
POST
JSON
{
"videoUrl": "https://example.com/path/to/your.mp4",
"secret": "your-strong-secret-here"
}
videoUrl
: The file download URLsecret
: The generated and set up secret key