デンバーRUG用にRでパッケージを作成する方法を探る方法として、datasciencetoolkitAPIの周りにRラッパーを作成するのは楽しい小さなプロジェクトになると思いました。ご想像のとおり、基本的なRツールはRCurlパッケージに含まれています。私は一見単純な問題に悩まされており、このフォーラムの誰かが私を正しい方向に向けることができるかもしれないことを望んでいます。基本的な問題は、postForm()を使用して、キーなしの文字列をcurlのデータオプションの一部として渡すことができないように見えることです。つまり、curl -d"string""address_to_api"です。
たとえば、コマンドラインから
$ curl -d "Tim O'Reilly, Archbishop Huxley" "http://www.datasciencetoolkit.org/text2people"
成功しました。ただし、POSTリクエストに追加の引数を渡す場合、postForm()には明示的なキーが必要なようです。可能なキーについてdatasciencetoolkitコードと開発者ドキュメントを調べましたが、何も見つからないようです。
余談ですが、GETリクエストを介して入力をDSTKAPIの他の部分に渡すのは非常に簡単です。例えば、
ip2coordinates <- function(ip) {
api <- "http://www.datasciencetoolkit.org/ip2coordinates/"
result <- getURL(paste(api, URLencode(ip), sep=""))
names(result) <- "ip"
return(result)
}
ip2coordinates('67.169.73.113')
望ましい結果が得られます。
明確にするために、私はDTLのオメガハットサイトのRCurlドキュメント、パッケージを含むRCurlドキュメント、およびcurlのマニュアルページを読みました。ただし、curl(またはpostForm()関数の.opts())に関して基本的なものが欠けているため、取得できないようです。
Pythonでは、基本的にhttplib.HTTPConnectionを使用して「生の」POSTリクエストを作成できます-Rで利用できるようなものですか?httpRequestパッケージのsimplePostToHost関数も調べましたが、Rセッションがロックされているように見えました(キーも必要なようです)。
FWIW、Mac10.6.7でR2.13.0を使用しています。
どんな助けでも大歓迎です。データサイエンスツールキットを試してみたい場合は、すぐにすべてのコードがgithubで利用できるようになります。
乾杯。