私がしようとしているのは、私の組織private reposのすべてのレポと問題を読むことです。私は自分のWindows 7からcmd.exe
が R-curl GithubプライベートレポにアクセスするためのAPI
curl -u "user:pass" https://api.github.com/orgs/:org/repos
を実行し、私は戻って私のリポジトリのすべてを取得することができます。これをファイルにパイプすることができます:
curl -u "user:pass" https://api.github.com/orgs/:org/repos > "C:\Users\Location\file.txt"
これはJSON出力を保存します。私はRでこれを複製することができますが、恐ろしい方法のように思えます。
fullRepos = system('curl -s -u "user:pass" -G https://api.github.com/orgs/:org/repos',
intern=T,show.output.on.console = F)
これは出力(intern = T
)をキャプチャし、私はラインを崩壊し、データフレームにそれを回すことができるように-s
は、プログレスバーを取り除きます。これにより、すべてのリポジトリが公開と非公開に戻されます。
私はRCurl
を使って同じことを試みましたが、以下のコードは公開リポジトリのみを提供しています。 httpheader
は、APIが自分の呼び出しを拒否するためです。
RCurl::getURL(url="https://api.github.com/orgs/:org/repos",userpwd ="user:pass",
httpheader = c('User-Agent' = "A user agent"))
また、私はhttr
を試しましたが、それは公開リポジトリも提供しています。
httr::GET(url="https://api.github.com/orgs/:org/repos",userpwd="user:pass")
私はRCurl
とhttr
で間違って何をしているのですか?むしろ、システムコマンドを作成せずに線を貼り付けるワークフローを用意したいと思います。
ありますか? – hrbrmstr
私は彼らがすべてプライベートレポジトリへのアクセスを与えないOAuthに基づいていると思います。少なくとも私のアプリケーションでプライベートレポジトリへのアクセスをリクエストする方法はわかりません。しかし、Github特有の性質にかかわらず、私は 'RCurl'や' httr'の 'curl'呼び出しをなぜ複製できないのかにも興味があります。 – Mark
'httr :: GET(url =" https://api.github.com/orgs/:org/repos "、httr :: authenticate(" user "、" pass ")、httr :: verbose())を試してみてください' – hrbrmstr