簡體   English   中英

google drive api v3 創建文件夾靜默失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM