1

我今天正在使用我最喜欢的 R 包之一从谷歌电子表格中读取数据。它行不通。这个问题出现在我所有的机器上(我使用 Windows),它似乎是一个新问题。我正在使用版本:RGoogleDocs 的 0.4-1

library(RGoogleDocs)
ps <-readline(prompt="get the password in ")
sheets.con = getGoogleDocsConnection(getGoogleAuth("fxxxh@gmail.com", ps, service ="wise"))
ts2=getWorksheets("OnCall",sheets.con)

这就是我在运行最后一行后得到的。

curlPerform(curl = curl, .opts = opts, .encoding = .encoding) 中的错误:SSL 证书问题,验证 CA 证书是否正常。详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

我做了一些阅读,发现了一些有趣但至少对我没有用的信息。

当我尝试通过 https 与 URL 进行交互时,我收到以下形式的错误
Curl: SSL certificate issue, verify that CA cert is OK

我得到了非常大的图片消息,但不知道如何在我的脚本中实施解决方案。我在 getWorksheets 之前删除了以下行。

x = getURLContent("https://www.google.com", ssl.verifypeer = FALSE)

那没有用,所以我尝试了

ts2=getWorksheets("OnCall",sheets.con,ssl.verifypeer = FALSE)

那也没有用。

有趣的是,以下行有效

getDocs(sheets.con,folders = FALSE)

你有什么建议我试着让它再次工作?谢谢。

4

2 回答 2

3

我不再有这个问题。我不太记得我克服问题的确切时间表,也不记得是谁帮助我到达这里的,但这是一个有效的典型会议。

library(RGoogleDocs)
if(exists("ps")) print("got password, keep going") else ps <-readline(prompt="get the password in ")  #conditional password asking
options(RCurlOptions = list(capath = system.file("CurlSSL", "cacert.pem", package = "RCurl"), ssl.verifypeer = FALSE))
sheets.con = getGoogleDocsConnection(getGoogleAuth("fjh@gmail.com", ps, service ="wise")) 
#WARNING: this would prevent curl from detecting a 'man in the middle' attack
ts2=getWorksheets("name of workbook here",sheets.con)
names(ts2)
sheet.1 <-sheetAsMatrix(ts2$"Sheet 1",header=TRUE, as.data.frame=TRUE, trim=TRUE) #Get one sheet
other <-sheetAsMatrix(ts2$"whatever name of tab",header=TRUE, as.data.frame=TRUE, trim=TRUE) #Get other sheet

它对你有帮助吗?

于 2011-03-31T05:25:45.410 回答
0

也许您没有安装证书包。我在 OS X 上安装了它们。你也可以在curl网站上找到它们

于 2010-08-09T20:59:20.307 回答