25

私はRGoogleDocsが大好きで、よく使います。ただし、パスワードを何度も入力するのは好きではありません。明らかに、パスワードを R スクリプトに入力するだけで済み、再度入力する必要はありません。しかし、それは私のパスワードが暗号化されずにハードドライブに残されることを意味するため、実行可能ではありません. さらに、スクリプトを同僚と共有しています。

この問題を回避するために、私はこれを思いつきました。

if(exists("ps")){
  print("got password, keep going")
} else {
  ps <-readline(prompt="get the password in ")
}

options(RCurlOptions = list(
  capath = system.file("CurlSSL", "cacert.pem", 
  package = "RCurl"), ssl.verifypeer = FALSE)
)

sheets.con = getGoogleDocsConnection(
  getGoogleAuth("notreal@gmail.com", ps, service ="wise")) 

#WARNING: this would prevent curl from detecting a 'man in the middle' attack
ts2=getWorksheets("hpv type",sheets.con)

私は RStudio を愛用しています。オフィスにいる同僚に自分のパスワードが表示されていることに不快感を覚えます。偽のパスワードを使用しましたが、画像を見てください。私のパスワードは、RStudio ですべての人に見えるように表示されます。. さらに、ワークスペースを保存すると、パスワードも一緒に保存され、数か月後、その内容を長い間忘れていたときに.RDataを送った場合、他の誰かにそれを渡してしまうのではないかと心配しています。同僚にファイルします。

以前の投稿で、R のパスワードに関する一般的なことを読みました。RGoogleDocs の使用時にパスワードを隠蔽するのに十分な情報が得られませんでした。

4

7 に答える 7

23

私のアプローチは、R スタートアップ ファイル内の R オプション リストにログイン名とパスワードを設定することです.Rprofile。次に、私のコードは で値を取得し、getOption()その値は表示されず、最上位の変数に格納されませんglobalenv()。( を介して事後分析デバッグを行うと、保存される可能性がありますdump.frames)。

.Rprofileあなた以外の誰にも読まれないようにすることが重要です。

そう

options(GoogleDocsPassword = c(login = 'password'))

そして.Rprofileその後

auth = getGoogleAuth()

最初のパラメーターのデフォルト値はオプションを探すことであるため、機能しGoogleDocsPasswordます。

D.

于 2011-05-23T19:30:49.747 に答える
7

私は同じ問題を抱えていましたが、本当の解決策はありませんでした。私が使用する回避策は、気にしないパスワードを使用して、この目的のためだけに Google アカウントを作成することです。次に、R にアクセスしてもらいたいドキュメントをそのアカウントで共有します。

しかし、誰かが最初の質問に対する答えを持っているなら、私も興味があります.

于 2011-05-23T19:11:43.027 に答える
3

uouはパスワードをオプションに保存でき、「ps」の代わりに「getOption」を直接使用できるようです。同様に、より良い解決策があります。

于 2011-05-23T19:28:22.410 に答える
3

パスワードをコンピューター上のファイルに保存し、エンコードしてすべて保存し、次のように呼び出すことができます

getPassword <- function(file = パスワードファイルの場所){ unencode (readLines(file))}

これを .Rprofile に設定し、コードで使用します

パスワードを取得()。

これにより、パスワードが R ファイルに保存されず、ファイルにチェックを組み込むことができます。

于 2011-12-05T11:08:55.107 に答える
2

このようなことのために、Googleドキュメントを作成したメールアドレスと共有し、Googleアカウントを作成して、共有と承認に使用します. したがって、スクリプトを実行するために必要なものから私の個人的なログインの詳細を分離します。

于 2011-05-23T19:43:58.963 に答える
0

アプリケーション固有のパスワードを使用した 2 段階認証はどうですか? 実際のパスワードを明らかにすることなく、アプリケーション固有のパスワードを使用できます。必要に応じて取り消すことができます。

于 2011-07-09T21:02:33.663 に答える