![](/img/trans.png)
[英]JavaScript Google Drive API V3 - Upload a file to a folder
[英]google drive api v3 create folder fails silently
通過完整范圍的 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;
}
});
回調函數永遠不會被調用,控制台中沒有錯誤。
我怎樣才能知道發生了什么?
我最終使用了較低級別的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)
}
})
函數gapi.client.drive.files.create({...})
返回一個承諾,所以不要傳遞回調函數,而是使用.then()
塊來執行承諾。
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);
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.