-
Notifications
You must be signed in to change notification settings - Fork 2
/
googledrive.js
58 lines (49 loc) · 1.64 KB
/
googledrive.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import { createReadStream } from 'fs';
import { google } from 'googleapis';
const KEYFILE = './creds.json';
const SCOPES = ['https://www.googleapis.com/auth/drive.file'];
const addZero = (num) => num.toString().padStart(2, '0');
export const uploadFileToDrive = async (filePath) => {
const auth = new google.auth.GoogleAuth({
keyFile: KEYFILE,
scopes: SCOPES,
});
const drive = google.drive({ version: 'v3', auth });
const folderID = ''; // ID da pasta no Google Drive
const date = new Date()
const filename =
addZero(date.getDate()) +
'/' +
addZero(date.getMonth() + 1) +
'/' +
date.getFullYear() +
'_' +
addZero(date.getHours()) +
':' +
addZero(date.getMinutes()) +
':' +
addZero(date.getSeconds()) +
'.mp4';
const fileMetadata = {
name: filename,
parents: [folderID],
};
const media = {
body: createReadStream(filePath),
mimeType: 'video/mp4',
};
try {
const res = await drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id,name',
supportsAllDrives: true,
});
console.log('Arquivo enviado com sucesso. nome do arquivo:', res.data.name);
} catch (err) {
console.error('Erro ao enviar o arquivo:', err.message);
}
};
// esse é apenas um exemplo basico de como fazer upload dos arquivos no googledrive
// esse codigo precisa de ajustes para remover o arquivo local apos enviar ele no googledrive
// verifique o arquivo rclone-onedrive.js para entender melhor como funciona