我正在尝试使用httr包找到使用R连接到Appannie API的方法(根本没有API连接经验)。
API要求包含请求标头
来自appannie网站的引文:
注册App Annie帐户并生成API密钥。
将此密钥添加到您的请求标头中,如下所示:
授权:持票人'引用
我写的代码看起来像这样
query <- "http://api.appannie.com/v1/accounts/1000/sales?break_down=application+dat
&start_date=2012-01-01
&end_date=2012-02-01
¤cy=USD
&countries=US
&page_index=1"
getdata<-GET(url=query, add_headers("Authorization: bearer 811b..."))
命令http_status(getdata)显示“客户端错误:(401)未经授权” 有人可以帮帮我吗,我做错了什么?
答案 0 :(得分:8)
您没有正确指定标题。 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¤cy=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。