现在我正在使用此代码将文件上传到Google云端硬盘: https://stackoverflow.com/a/11657773/1715263 它适用于文本文件。
使用相同的代码我正在尝试使用Google提供的以下信息创建文件夹: https://developers.google.com/drive/folder
所以谷歌说“内容类型:应用程序/ json”进入标题,“application / vnd.google-apps.folder”应该是正文中的mimetype(?),这就是我正在做的事情代码,现在看起来像这样:
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;
});
但是它只创建一个名为“Untitled”的文件,它不是文件夹,你无法打开它。
当我将“标题”部分中的“内容类型”更改为“application / vnd.google-apps.folder”并删除“正文”部分时,它会创建一个名为“无标题”的文件夹。
如何创建具有特定标题的文件夹?
答案 0 :(得分:5)
最后通过谷歌搜索Claudios代码让我使用了这段代码:https://stackoverflow.com/a/11361392/1715263
改变的重要一点是'path',现在是“/ drive / v2 / files /”而不是“/ upload / drive / v2 / files /”。 我刚删除'gapi.client.load'函数,添加了头信息并更改了bodys mimeType。
所以这是代码:
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;
});
}
答案 1 :(得分:3)
请尝试以下代码:
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);
});
}