2016-08-20 2 views
0

私が使用しているRパッケージのgenderizeRには、無料プランの月間1000件の制限があります。この関数は、APIを介してgenderize.ioデータベースに接続されています。R:クライアントエラー:要求URIが長すぎる

だから私は大きな毎月の限度で、商業計画を購入し、このようにRでAPIキーを使用します。

genderizeAPI (vector, apikey="my_api_key")

は、しかし、私は次のエラーコードを得た:

Client error: (414) Request-URI Too Long

どれでもどのように私はこれを解決することができるアイデア?

+0

414はURLが長すぎるため、認証とは関係がないことを示します。 – sckott

答えて

0

コードは、これをやっている:

query <- as.list(x) 
names(query) <- paste0("name[", 0:(length(x) - 1), "]") 
if (!is.null(apikey)) { 
    query <- c(apikey=apikey, query) 
} 
r <- httr::GET("https://api.genderize.io", 
       query = query, 
       httr::config(ssl_verifypeer=ssl.verifypeer)) 

がAPIに送信するクエリを構築します。 (最終的に)あなたがgenderizeAPI()コールへのベクターの大きすぎるに渡していることを意味

https://api.genderize.io?name[0]=jan&name[1]=maria&name[2]=norbert 

:へ

genderizeAPI(c("jan", "maria", "norbert")) 

:それは最終的に何かを変換します。

genderize.ioサイトclearly states"APIは要求ごとに最大10個の名前に制限されています"

渡すベクトルが< = 10要素であることを確認してください。率直に言って、これより優れたAPIパッケージがこれを占めていて、投稿者https://github.com/kalimu/genderizeR/issuesにバグレポートや機能強化を提出する傾向があります。

関連する問題