2016-08-20 4 views
0

사용중인 R 패키지 genderizeR의 무료 계획에 대한 월간 항목 수는 1000 개입니다. 함수는 API를 통해 genderize.io 데이터베이스에 연결됩니다. R : 클라이언트 오류 : 요청 URI가 너무 길다

그래서 내가 더 큰 월별 한도와 상업 계획을 구입,이 같은 R의 API 키를 사용 : 모든

Client error: (414) Request-URI Too Long

그러나

genderizeAPI (vector, apikey="my_api_key")

, 나는 다음과 같은 오류 코드를 가지고 내가 어떻게 해결할 수 있을지 생각해?

+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과 함께 버그 보고서/기능 향상을 신청할 의향이 있습니다.

관련 문제