我有一個基於JavaScript的Google Apps腳本,可以遍歷Drive中的所有文件並將MS文件轉換爲Google格式。我正在使用Drive API上傳和轉換。一切似乎工作正常,除非我有一個文件在雲端硬盤子文件夾。當文件上傳回驅動器時,我無法定義父文件夾,因此它直接進入根目錄。Google Drive API上傳到父文件夾
我有一個父文件夾ID的句柄,但是當我向JSON字符串中添加「parents:folderID」時,在上傳路徑中看不到任何更改。
這是我的上傳和轉換功能,有沒有辦法修改這個來定義父文件夾?我完全失去了API ...任何人都可以協助嗎?
var uploadFile = JSON.parse(
UrlFetchApp.fetch("https://www.googleapis.com/upload/drive/v2/files?uploadType=media&convert=true",
{
method: "POST",
contentType: officeFile.getMimeType(),
payload: officeFile.getBlob().getBytes(),
parents: ['id' : folderID], <<<<<<<<<<<<<<<<< this line
headers: {
"Authorization" : "Bearer " + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true
}).getContentText());
綜觀[文檔】(https://developers.google.com/drive/v2/reference/files/insert#request-body)用於'父母[]'描述。我猜只要你設置了folderID,你應該可以上傳到文件夾。請仔細檢查您的folderID。另外,[Drive API](https://developers.google.com/drive/v3/web/about-sdk)已經有一個v3可用,所以我認爲這是值得關注的。祝你好運! – gerardnimo
我肯定有父母ID正確(記錄根和子文件夾ID)。無論我如何格式化JSON字符串,文件總是上傳到根目錄。我不得不使用上傳到根目錄然後移動到子文件夾的荒謬工作。由於您無法在Drive API中「移動」文件,因此我必須「複製」並刪除原始文件。多麼糟糕的工作,但它完成了工作。我終於能夠完成劇本。這是一個完整的微軟轉換器,帶有權限映射的雲端硬盤。感謝評論gerardnimo。我會檢查出V3 API的未來更新! – Dougie