2012-10-23 120 views
1

我想搬遷新創建的谷歌文檔文件,以谷歌驅動器中的文件夾(使用谷歌企業應用套件)。添加文件到文件夾

var newFile = DocumentApp.create('New File'); 
var newFileID = Docs.getFileById(newFile); 
var newFileRelocated = newFileID.addToFolder(newFolder); 

而且我得到「無法找到方法addToFolder(。(行...)」。我在做什麼了?他們的方法滴下來作爲一個選項,當我在寫它,它仍然不能找到它。

回答

2

這可能是因爲你的newFolder是不是出了什麼期望。它是一個string?如果你定義它?

無論如何,預計在addToFolder的參數必須是你有使用其他一些方法Folder對象DocsList。例如DocsList.getFolder("/path/to/folder")DocsList.getFolderById("folder-id")等。

好像有其他的「不一致」你的代碼,我就貼什麼你試圖做我:

var newDoc = DocumentApp.create('New Google Doc'); 
//a DocumentApp file and a DocsList file are not the same object, although they may point to the same Google Doc 
var newFile = DocsList.getFileById(newDoc.getId()); 
var folder = DocsList.getFolder("/path/to/folder"); //I'm assuming the folder already exists 
newFile.addToFolder(folder); 
+0

謝謝@Henrique它的工作! :-) –

2

這樣做的邏輯是不是完全按照你試過...

這裏是一個工作示例:

function myFunction() { 
var newFile = DocumentApp.create('New File'); 
var newFileID = newFile.getId() 
var newFolder = DocsList.createFolder('test Folder') 
DocsList.getFileById(newFileID).addToFolder(newFolder) 
} 
+0

@Henrique:哎呀,沒有看到你的答案,而我是從我的身邊打字......那種重複一遍......對不起;-) –

+0

這是確定嗶嘰。無需道歉:) –

+0

謝謝@Sergeinsas!有效! :-) 非常感謝! –

1

我想補充這一點,最近我處理了這個問題。

我注意到的默認位置是存儲在根文件夾(又名我的驅動器)的DocsList.create()文件。

這可能會導致真正的頭痛,如果你正在做大量的文件。

添加此視).addToFolder(後線

newFile.removeFromFolder(DocsList.getRootFolder()); 
0

下面的函數是一個簡單的谷歌腳本在圖像URL傳遞。

function fetchImageToDrive_(imageUrl) 
{ 
//Fetch image blob 
    var imageBlob = UrlFetchApp.fetch(imageUrl).getBlob(); 
//Create image file in drive 
    var folder = DocsList.getFolder('test Folder'); 
    folder.createFile(imageBlob); 
}