【问题标题】:Adding rows to a Google Sheet using the R Package googlesheets使用 R 包 googlesheets 向 Google Sheet 添加行
【发布时间】:2015-12-08 20:46:46
【问题描述】:

我正在使用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 添加新行一样(注意:在评估这些行之前,我导航到谷歌表格并在网络上公开):

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

【问题讨论】:

    标签: r google-sheets r-googlesheets


    【解决方案1】:

    googlesheets::gs_add_row()googlesheets::gs_edit_cells() 向 Sheets API 发出 POST 请求。这需要将可见性设置为“私有”。

    以上,当你按键注册Sheet时,请这样操作:

    gs_key(mynewKey, visibility = "private")

    如果您希望它甚至适用于您从未在浏览器中访问过的表格,请同时添加 lookup = FALSE

    gs_key(mynewKey, lookup = FALSE, visibility = "private")

    【讨论】:

    • 谢谢!!非常感谢这个包和你对此的调查:)
    • 您的回答为我节省了大量时间!
    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    相关资源
    最近更新 更多