Question

En ce moment, j'utilise ce code pour télécharger des fichiers sur Google Drive: https://stackoverflow.com/a/11657773/1715263 Cela fonctionne bien avec un fichier texte.

Avec le même code, j'essaie de créer un dossier, en utilisant ces informations de Google: https://developers.google.com/drive/folder

SO Google dit "Type de contenu: Application / JSON" passe dans l'en-tête et "Application / VND.Google-Apps.folder" devrait être le mimeType dans le corps (?), c'est ce que je fais dans moncode, qui ressemble à ceci maintenant:

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;
    }); 

Mais il ne s'agit que d'un fichier nommé "Untitled", ce n'est pas un dossier et vous ne pouvez pas l'ouvrir.

Lorsque je change le "Type de contenu" dans la section "En-têtes" dans "Application / VND.Google-Apps.Folder" et supprimez la partie "Corps", il crée un dossier nommé "Untitled".

Comment puis-je l'obtenir pour créer un dossier avec un titre spécifique?

Était-ce utile?

La solution

Enfin, je suis terminé de travailler par Googling Claudios Code qui m'a conduit à cette pièce de code: https://stackoverflow.com/a/11361392/1715263

La chose importante qui a changé est le "chemin", c'est maintenant "/ lecteur / v2 / fichiers /" au lieu de "/ upload / lecteur / v2 / fichiers /". Je viens de supprimer la "fonction" gapi.client.load'-Boîte, ajouté des informations sur les en-têtes et modifié le mimeType de carrossage.

Voici donc le code:

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;
   });
}

Autres conseils

Essayez le code suivant:

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);
  });
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top