我想使用谷歌Google电子表格或表格+电子表格来收集R用户的回复并将其发送到电子表格。将信息发送到Google Spreadsheets/Google表单
下面是一个最小的谷歌形式:https://docs.google.com/forms/d/1tz2RPftOLRCQrGSvgJTRELrd9sdIrSZ_kxfoFdHiqD4/viewform
我想我会用珍妮Bryan的googlesheets包像这样:
library(googlesheets);library(dplyr)
(my_sheets <- gs_ls())
minresp <- gs_title("minimal (Responses)")
minresp %>% gs_add_row(ws = "dat", input = mtcars[20, 1:2])
伟大的作品,但如果我包括代码和其他人(即,谁不是我)试图使用代码:
Error in gs_lookup(., "sheet_title", verbose) :
"minimal (Responsess)" doesn't match sheet_title of any sheet returned by gs_ls() (which should reflect user's Google Sheets home screen).
所以在小品我看到有开:
#需要访问你不拥有一个表吗?
#如果您知道它,请通过键访问它!
我想这是为了让别人来输入数据到电子表格中的车票,所以我尝试:
minresp2 <- gs_key("1xemHzTdeqgMuGbsP6oqDYuMu4PymBdw7k7kMC_-Dsi8")
产生:
Authentication will be used.
Error in gs_lookup(., "sheet_key", verbose) :
"1xemHzTdeqgMuGbsP6oqDYuMu4PymBdw7k7kMC_-Dsi8" doesn't match sheet_key of any sheet returned by gs_ls() (which should reflect user's Google Sheets home screen).
这一切工作,如果我登录到并通过谷歌认证,但我怎么可以让用户可以添加到我的电子表格。我不在乎使用什么方法/包。如果用户只能通过在函数中使用来编辑spreasheet,而不是简单地查看源代码并获取url并手动编辑,那很好,但这不是一个问题。
本质上,我希望能够收集来自R用户的数据(或其他数据形式)的响应并附加到每个新用户。
是否愿意让任何人都可以写该表单?你可以通过使用'gs_key(...,lookup = FALSE)'来解决re:lookup上面的错误。但是,你的下一个更大的问题将以有针对性的方式给予写入许可。 AFAIK你不能让一张纸可写,比如碰巧有一把钥匙的人。我想知道这个包https://github.com/hadley/secure是否可以用来安全地向用户提供OAuth2令牌? – jennybryan
@jennybryan我认为我可以允许它是可写的,但这并不理想 –
对我来说工作正常 - 我首先必须运行'gs_auth()',然后我在A7中添加了测试:'minresp2 < - gs_key ( “1xemHzTdeqgMuGbsP6oqDYuMu4PymBdw7k7kMC_-Dsi8”); minresp2 < - minresp2%>%gs_edit_cells(input = c(“test”),anchor =“A7”,byrow = TRUE)' – jeremycg