2014-03-26 5 views
4

https 패키지를 사용하여 Appannie의 API에 R 방식으로 연결하는 방법을 찾으려고합니다. API 연결에 대한 경험이 전혀 없습니다. API에 요청 헤더가 포함되어야 함 appannie의 사이트에서 인용 함 : 앱 계정을 등록하고 API 키를 생성합니다. 다음과 같이 요청 헤더에이 키를 추가 :
인증 : 무기명 ''
표창장을API 데이터 요청에서 요청 헤더를 올바르게 사용하는 방법은 무엇입니까?

동안 나는이

query <- "http://api.appannie.com/v1/accounts/1000/sales?break_down=application+dat 
&start_date=2012-01-01 
&end_date=2012-02-01 
&currency=USD 
&countries=US 
&page_index=1" 
getdata<-GET(url=query, add_headers("Authorization: bearer 811b...")) 

명령 HTTP_STATUS (GetData의)처럼 보이는 코드 나 표시를 썼다 "클라이언트 오류 : (401) 무단 " 누군가가 도와 주시겠습니까? 내가 뭘 잘못 했나요?

+0

"무기명"(자본금 B)을 사용해 보셨습니까? – Jasper

+0

같은 결과 –

+0

"* API는 상태가없고 모든 요청은 인증을 요구합니다. 모든 API 요청은 API 키 베어러 인증을 사용하며 http : // support를 통해 ** HTTPS **. *가 작성한 요청 만 수락합니다 .appannie.com/ entries/23215057-3- 인증. 당신의'query'는'http'로 시작합니다. 그것은 아마도 문제 일 것입니다. – hrbrmstr

답변

6

헤더를 올바르게 지정하지 않았습니다. add_headers(...)에는 명명 된 목록이 필요합니다.

library(httr) # for GET(...) 
library(rjson) # for fromJSON(...) 
query <- "https://api.appannie.com/v1/accounts/1000/sales?break_down=application+dat&start_date=2012-01-01&end_date=2012-02-01&currency=USD&countries=US&page_index=1" 
getdata<-GET(url=query, add_headers(Authorization="bearer <your api key>")) 
fromJSON(content(getdata,type="text")) 
# $code 
# [1] 403 
# 
# $error 
# [1] "Invalid connection account" 

이 기능은 401 오류가 발생하지 않는다는 의미에서 "작동합니다". 내 경우 1000 계정이 존재하지 않습니다.

댓글의 http/https 문제와 관련하여 http는 가치가 떨어지고 2014-04-01 현재 더 이상 허용되지 않으므로 https를 사용할 수도 있습니다.

+0

나는 이것을 https를 추가하고 올바른 계정 아이디로 대체하려고했지만 여전히 403 에러가있다. 내가 그것을 appannie에서 최고 관리자가되어야합니까? –

+0

및이 경우 Analytics 섹션의 다운로드 페이지 : https://www.appannie.com/dashboard/1000/item/396958695/downloads/ 은 계정이 "1000"입니까? –

+0

[App Sales support page] (http://support.appannie.com/entries/23215097-2-API-data-App-Sales)에 따르면 accountID와 appID를 모두 제공해야합니다. 그렇게하지 않는 것. API 사용 방법을 모르는 경우 APP Annie 고객 지원부에 문의하십시오. 위의 솔루션을 사용하면 해당 API에 연결할 수 있습니다. 정확한 쿼리 문자열을 제공하는 것은 귀하에게 달려 있습니다. – jlhoward

관련 문제