开发者

RGoogleDocs - uploadDoc does not replace doc with same name

开发者 https://www.devze.com 2023-02-15 06:43 出处:网络
I am using the RGoogleDocs package to upload a string of text to a document. The following code is a minimal working example.

I am using the RGoogleDocs package to upload a string of text to a document.

The following code is a minimal working example.

library(RGoogleDocs)
gpasswd = "mypassword"
auth = getGoogleAuth("example@gmail.com", gpasswd)
con 开发者_开发技巧= getGoogleDocsConnection(auth)
uploadDoc("test1", con, name = "d")

The problem: if I run this code twice two files named "d" appear. In other words, the file is not replaced, even though in the function guide ?uploadDoc expected behaviour reads as

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).


(Farrel Buchinsky brought this to my attention. It is often best to contact a package's author/maintainer if there is a problem as we don't necessarily follow both R-help and SO.)

Noah is right in saying just deleteDoc() and the uploadDoc().

We can do this in the uploadDoc() also. I've just added a replace parameter to uploadDoc() (default is TRUE) and that will (when I solve a possibly related bug) a) move the current document, if it exists, to a temporary name b) upload the new document to the target name, c) delete the temporary document if the upload was successful or, if not, move the temporary document back to the original name.

Something is up internally when testing this, but this should be in the next release.


I think the function guide here is a bit misleading. The uploadDoc function just creates a new document, and Google doesn't prevent you from having multiple docs named the same thing.

There is a stub in RGoogleDocs for updateDoc(), but it's been on the horizon for a while (last update of the package was 10/2009). I played for a few minutes, but would take some real digging to get it working.

Not a satisfying answer, but you could always just issue a deleteDoc() before re-uploading by the same name.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号