1

今日、お気に入りの R パッケージの 1 つを使用して、Google スプレッドシートからデータを読み取っていました。それはうまくいきません。この問題はすべてのマシン (私は 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 証明書に問題があります。CA 証明書が正常であることを確認してください」という形式のエラーが表示されます。

非常に大局的なメッセージを受け取りましたが、スクリプトにソリューションを実装する方法がわかりませんでした。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 に答える