我正在使用googlesheets
包(CRAN 版本,但可在此处获得:https ://github.com/jennybc/googlesheets )从 R 中的 Google 表格读取数据,但现在想添加行。不幸的是,每次gs_add_row
用于现有工作表时,我都会收到以下错误:
Error in gsheets_POST(lf_post_link, XML::toString.XMLNode(new_row)) :
client error: (405) Method Not Allowed
我按照 Github 上的教程创建了一个工作表并添加了如下行:
library(googlesheets)
library(dplyr)
df.colnames <- c("Project Short Name","Project Start Date","Proj Stuff")
my.df <- data.frame(a = "cannot be empty", b = "cannot be empty", c = "cannot be empty")
colnames(my.df) <- df.colnames
## Create a new workbook populated by this data.frame:
mynewSheet <- gs_new("mynewsheet", input = my.df, trim = TRUE)
## Append Element
mynewSheet <- mynewSheet %>% gs_add_row(input = c("a","b","c"))
mynewKey <- mynewSheet$sheet_key
行添加成功,我什至收到了愉快的消息Row successfully appended.
我现在提供mynewKey
给gs_key
,就像我正在使用的新工作表一样,并尝试使用添加新行gs_add_row
(注意:在评估这些行之前,我导航到 Google 工作表并将其公开到网络上):
myExistingWorkbook <- gs_key(mynewKey, visibility = "public")
## Attempt to gs_add_row
myExistingWorkbook <- myExistingWorkbook %>% gs_add_row(input = c("a","b","c"), ws="Sheet1", verbose = TRUE)
Error in gsheets_POST(lf_post_link, XML::toString.XMLNode(new_row)) :
client error: (405) Method Not Allowed
我尝试过的事情:
1) 将 Google 表格发布到网络上(根据https://github.com/jennybc/googlesheets/issues/126#issuecomment-118751652)
2) 使工作表对公众可编辑
笔记
在我的实际示例中,我有一个现有的 Google 表格,其中包含许多我想添加行的工作表。我试图在这里使用一个最小的示例来理解我的错误,我还可以提供指向我想要更新的特定工作表的链接。
我在包的 github 页面上提出了一个问题,https://github.com/jennybc/googlesheets/issues/168