如何使用Javascript将简单/文本文件上传到谷歌驱动器?

问题描述:

我怎么能这样blob文件上载到我的文件夹ID的谷歌云端硬盘文件夹:如何使用Javascript将简单/文本文件上传到谷歌驱动器?

var blob = new Blob([credentialText], { 
    type: "text/plain;charset=utf-8;", 
}); 

文档似乎很不清楚。我已经检查了这个link,但是没有我如何提出请求的例子......我也检查了CORS请求,但没有帮助。我这样失去:(

在此先感谢

我想这和它的工作:

var createFile = function(name,text,parentId) { 
    var auth_token = $rootScope.accessToken; 

    const boundary = '-------314159265358979323846'; 
    const delimiter = "\r\n--" + boundary + "\r\n"; 
    const close_delim = "\r\n--" + boundary + "--"; 
    var mimeType = 'text/plain'; 
    var metadata = { 
     "name" : name, 
     "mimeType": 'text/plain', 
     "parents": [parentId] 
    }; 

    var multipartRequestBody = 
    delimiter + 'Content-Type: application/json\r\n\r\n' + 
    JSON.stringify(metadata) + 
    delimiter + 'Content-Type: application/json\r\n\r\n' + 
    text + 
    close_delim; 

    gapi.client.request({ 
     'path': '/upload/drive/v3/files/', 
     'method': 'POST', 
     'params': {'uploadType': 'multipart'}, 
     'headers': { 'Content-Type': 'multipart/form-data; boundary="' + boundary + '"', 'Authorization': 'Bearer ' + auth_token, }, 
     'body': multipartRequestBody 
    }).execute(function(file) { 
     console.log(file); 
     console.log("Wrote to file " + file.name + " id: " + file.id); 
    }, function(error){ 
     console.log(error); 
    }); 
} 

在这两个以前的问题(herehere)挖后,我发现了一个解决方案通过部分地结合这些问题:

var createTxtFile = function(name,text,parentId) { 
    var auth_token = $rootScope.accessToken; 

    const boundary = '-------314159265358979323846'; 
    const delimiter = "\r\n--" + boundary + "\r\n"; 
    const close_delim = "\r\n--" + boundary + "--"; 
    const mimeType = 'text/plain'; 

    var metadata = { 
     "name" : name, 
     "mimeType": mimeType, 
     "parents": [parentId] 
    }; 

    var multipartRequestBody = 
    delimiter + 'Content-Type: application/json\r\n\r\n' + 
    JSON.stringify(metadata) + 
    delimiter + 'Content-Type:'+ mimeType+'\r\n\r\n' + 
    text + 
    close_delim; 

    gapi.client.request({ 
     'path': '/upload/drive/v3/files/', 
     'method': 'POST', 
     'params': {'uploadType': 'multipart'}, 
     'headers': { 'Content-Type': 'multipart/mixed; boundary="' + boundary + '"', 'Authorization': 'Bearer ' + auth_token, }, 
     'body': multipartRequestBody 
    }).execute(function(file) { 
     console.log(file); 
     console.log("Wrote to file " + file.name + " id: " + file.id); 
    }, function(error){ 
     console.log(error); 
    }); 
}