RでGoogleシートからデータを読み取るためにgooglesheets
パッケージ(CRANバージョンですが、https ://github.com/jennybc/googlesheetsで入手できます)を使用していますが、行を追加したいと思います。残念ながら、既存のシートを使用するたび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
し、次を使用して新しい行を追加しようとします (注: これらの行を評価する前に、Google スプレッドシートに移動して Web に公開します):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 ) で問題を提起しました。