Come creare una cartella su Google Drive usando JavaScript
-
12-12-2019 - |
Domanda
In questo momento sto usando questo codice per caricare file su Google Drive: https://stackoverflow.com/a/11657773/1715263 Funziona bene con un fleile.
Con lo stesso codice che sto provando a creare una cartella, utilizzando queste informazioni da Google: https://developers.google.com/Drive/Folderr
Allora Google dice "Content-Type: Application / Json" entra nell'intestazione e "Application / VND.Google-Apps.Folder" dovrebbe essere il mimetype nel corpo (?), questo è quello che sto facendo nel mioCodice, che sembra così:
function createFolder()
{
var access_token = googleAuth.getAccessToken();
var json = JSON.stringify({
mimeType: 'application/vnd.google-apps.folder',
title: 'Folder',
});
var body = "Content-Type: application/json" + "\r\n" +
"Content-Length: " + json.length + "\r\n" + "\r\n" +
json;
gapi.client.request({
'path': '/upload/drive/v2/files/',
'method': 'POST',
'params': {'uploadType': 'multipart'},
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + access_token,
},
'body': body
}).execute(function(file) {
document.getElementById("info").innerHTML = "Created folder: " + file;
});
.
Ma sta solo creando un file denominato "Untitled", non è una cartella e non puoi aprirlo.
Quando modifico il "tipo di contenuto" nella sezione "Le intestazioni" in "Applicazione / VND.Google-Apps.Folder" e rimuovere la parte "corpo", sta creando una cartella denominata "senza titolo". Come posso ottenerlo per creare una cartella con un titolo specifico?
Soluzione
Finalmente ha capito il codice Claudios Google che mi ha portato a questo pezzo di codice: https://stackoverflow.com/a/11361392/1715263
La cosa importante che modifica è il "percorso", i suoi ora "/ drive / v2 / file /" invece di "/ upload / drive / v2 / files /". Ho appena rimosso la funzione 'gapi.client.load', ha aggiunto informazioni sulle intestazioni e ha cambiato il mimetype del corpo.
Quindi ecco il codice:
function createFolder() {
var access_token = googleAuth.getAccessToken();
var request = gapi.client.request({
'path': '/drive/v2/files/',
'method': 'POST',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + access_token,
},
'body':{
"title" : "Folder",
"mimeType" : "application/vnd.google-apps.folder",
}
});
request.execute(function(resp) {
console.log(resp);
document.getElementById("info").innerHTML = "Created folder: " + resp.title;
});
}
. Altri suggerimenti
Prova il seguente codice:
function createFolder(folderName) {
var body = {
'title': folderName,
'mimeType': "application/vnd.google-apps.folder"
};
var request = gapi.client.drive.files.insert({
'resource': body
});
request.execute(function(resp) {
console.log('Folder ID: ' + resp.id);
});
}
.