2011-03-04 43 views
2

我使用RGoogleDocs包將文本字符串上傳到文檔。RGoogleDocs - uploadDoc不替換同名文檔

以下代碼是一個最小工作示例。

library(RGoogleDocs) 
gpasswd = "mypassword" 
auth = getGoogleAuth("[email protected]", gpasswd) 
con = getGoogleDocsConnection(auth) 
uploadDoc("test1", con, name = "d") 

的問題:如果我跑兩次這個代號爲文件「d」出現。 換句話說,該文件不會被替換,即使功能嚮導在uploadDoc預期的行爲全文

uploadDoc(content, con, name, type = as.character(findType(content)), 
     binary = FALSE, asText = FALSE, folder = NULL, ...) 

-

name  the name of the new document to be created (or the document to be replaced). 

回答

3

(法雷爾Buchinsky把這個給我的注意。它往往是最好聯繫一個包的作者/維護者,如果有一個問題,因爲我們並不一定遵循兩個R-幫助和SO)

諾亞正確地說就是deleteDoc()和uploadDoc()。

我們也可以在uploadDoc()中做到這一點。 我剛剛爲uploadDoc()添加了一個替換參數(默認值爲TRUE) 這將(當我解決一個可能相關的bug時) a)將當前文檔(如果存在)移動到臨時名稱 b)將新文檔上傳至目標名稱 c)如果上載成功,則刪除臨時文檔 或者如果不成功,則將臨時文檔移回原始名稱。

當測試這個東西時,內部的東西已經升起,但是這應該在下一個版本中。

+0

新版本(0.5-0)現在以源代碼的形式在Omegahat存儲庫上提供(此時無二進制文件)。 – Duncan 2011-03-05 18:32:46

+0

這是一個比我試圖使用文檔的「edit-media」屬性更好的解決方案。 – Noah 2011-03-05 19:08:58

1

我覺得這裏的功能介紹是有點誤導。 uploadDoc函數只是創建一個新文檔,而Google不會阻止您將多個文檔命名爲相同的文檔。

RGoogleDocs有一個存根updateDoc(),但它已在地平線上一段時間(包的最後一次更新是2009年10月)。我玩了幾分鐘,但需要一些真正的挖掘才能實現它。

不是一個令人滿意的答案,但您可以隨時在重新上傳之前發出deleteDoc()