Pregunta

En este momento estoy usando este código para cargar archivos a Google Drive: https://stackoverflow.com/a/11657773/1515263 Funciona bien con un archivo de texto.

Con el mismo código que estoy tratando de crear una carpeta, usando esta información de Google: https://developers.google.com/drive/folder

Así que Google dice "Tipo de contenido: Aplicación / JSON" entra en el encabezado y "Aplicación / VND.Google-Apps.Folder" ¿Debe ser el mimetype en el cuerpo (?), Eso es lo que estoy haciendo en miCódigo, que parece esto ahora:

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

Pero solo está creando un archivo llamado "Sin título", no es una carpeta y no puede abrirlo.

Cuando cambie el "tipo de contenido" en la sección "Encabezados" a "Aplicación / VND.Google-Apps.Folder" y retire la parte "Cuerpo", está creando una carpeta llamada "Untitled".

¿Cómo puedo obtenerlo para crear una carpeta con un título específico?

¿Fue útil?

Solución

Finalmente lo puse trabajando por Googling Claudios Código que me llevó a este pedazo de código: https://stackoverflow.com/a/11361392/1715263

Lo importante que cambió es el 'camino', su ahora "/ unidad / v2 / archivos /" en lugar de "/ subir / conducir / v2 / archivos /". Acabo de eliminar la función 'gapi.client.load'-Función, agregó información de encabezados y cambió el MIMETYPE de BODY.

Así que aquí está el código:

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

Otros consejos

Pruebe el siguiente código:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top