通过全范围的OAuth成功验证后:
https://www.googleapis.com/auth/drive`
中的示例创建了一个文件夹
var fileMetadata = {
'name' : name,
'mimeType' : 'application/vnd.google-apps.folder',
// 'parents': [ parent ]
};
gapi.client.drive.files.create({
resource: fileMetadata,
fields: 'id'
}, function(err, file) {
if(err) {
// Handle error
console.log(err);
} else {
console.log('Folder Id: ', file.id);
return file.id;
}
});
永远不会调用回调函数,控制台中没有错误。
我怎样才能知道发生了什么?
答案 0 :(得分:1)
我最终使用了较低级gapi.client.request
方法,该方法可靠。
var body= {"name": name,
"mimeType": "application/vnd.google-apps.folder",
"parents": [parent.id]}
gapi.client.request({
'path': 'https://www.googleapis.com/drive/v3/files/',
'method': 'POST',
'body': body
}).then(function(jsonResp,rawResp) {
console.log(jsonResp)
if (jsonResp.status==200) {
callback(jsonResp.result)
}
})
答案 1 :(得分:0)
函数gapi.client.drive.files.create({...})
返回一个Promise,因此不要传递回调函数,而应使用一个.then()
块来执行Promise。
var fileMetadata = {
'name': FILE_NAME,
'mimeType': FILE_MIME_TYPE,
// 'parents': [ parentFolderID ]
};
gapi.client.drive.files.create({
resource: fileMetadata,
fields: '*'
}).then(function(response) {
if (response.status === 200) {
var file = response.result;
console.log(file);
}
}).catch(function(error) {
console.error(error);
);