继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

友盟爱恨情仇之Open API接口文档(python版)

慕姐8265434
关注TA
已关注
手记 1309
粉丝 222
获赞 1065

他曾是一匹来自北方的狼
为何近日却愁成了加班狗

平日里他曾是安静的导表小哥
每天从友盟导出数据,风雨无阻
这一天,他眉头紧锁
发现了……某个任务需要导出72个excel表
一向懒惰的他开始寻找破阵之术

友盟,无数数据产品经理、数据分析师的数据分析利器,以统计称霸江湖多时。
江湖流传着一份《友盟 Open API.pdf》文档,本文基于Python语言,将文档中大部分数据接口的调用,写成Python函数,以期望方便使用。


数据获取流程大概如下:
通过账号密码获取token ---- 通过token获取appkey   ----通过token和appkey获取其他数据


auth_token认证

接收参数:

参数名是否必须参数说明类型及范围
email必选用户名string
password必选密码string

接口调用成功返回数据示例:
{"code":200,"success":"ok","auth_token":"bgymNcCjPC3gY9TUE241"}

#该函数返回一个auth_tokendef authorize(user, pasw):
    url = 'http://api.umeng.com/authorize'
    body = {'email': "%s"%(user), 'password': '%s'%(pasw)}
    response = requests.post(url, params = body)    return response.json()['auth_token']

获取APP列表

接收参数:

参数名是否必须参数说明类型及范围
per_page可选每页数量,默认为20int
page可选第几页,默认为1,从1计数int
q可选要查询的app名string

接口调用成功返回数据示例:
[
{
"name": "Android Demo App",
"category": "阅读资讯",
"created_at": "2011-04-28T11:04:02Z",
"updated_at": "2013-03-06T09:31:10Z",
"platform": "android",
"appkey": "4db949a2112cf75caa00002a"
},
{
"name": "iPhone Demo App",
"category": "工具",
"created_at": "2012-02-23T15:15:33Z",
"updated_at": "2013-03-06T09:31:11Z",
"platform": "iphone",
"appkey": "4f46581552701523110000c9"
}
]

#获取APP列表def apps(auth_token):
    url = 'http://api.umeng.com/apps?&auth_token=%s'%(auth_token)
    response = requests.get(url)    return response.json()

获取APP数量 ——所登录友盟账号下的APP数量

#获取APP数量 ——所登录友盟账号下的APP数量def apps_count(auth_token):
    url = 'http://api.umeng.com/apps/count?auth_token=%s'%(auth_token)
    response = requests.get(url)    return response.json()['count']

获取APP的基本数据 ——应用列表-全部应用

#获取APP的基本数据 ——应用列表-全部应用def base(auth_token):
    url = 'http://api.umeng.com/apps/base_data?auth_token=%s'%(auth_token)
    response = requests.get(url)    return response.json()

获取渠道列表

参数名是否必须参数说明类型及范围
appkey必选APP标识string
date可选查询日期,格式为2013-03-01,也可以是today或yesterday,默认为todaystring
per_page可选单页显示数量,默认为10string
page可选当前页数,默认为1string
响应字段字段说明
date查询日期(默认值是today)
total_install_rate当前渠道新增用户占当日新增用户的比例
active_user活跃用户
install新增用户
total_install总用户数
channel渠道名称
id渠道的id
#获取渠道列表def channels(appkey,auth_token):
    url = 'http://api.umeng.com/channels?appkey=%s&auth_token=%s'%(appkey,auth_token)
    response = requests.get(url)    return response.json()

获取当前所有版本和基本数据

参数名是否必须参数说明类型及范围
appkey必选APP标识string
date可选查询日期,格式为2013-03-01,也可以是today或yesterday,默认为todaystring
响应字段字段说明
date查询日期(默认值是today)
total_install_rate当前渠道新增用户占当日新增用户的比例
active_user活跃用户
install新增用户
total_install总用户数
version版本号
#获取当前所有版本和基本数据'''
def versions(appkey,auth_token):
    url = 'http://api.umeng.com/versions?appkey=%s&auth_token=%s'%(appkey,auth_token)
    response = requests.get(url);print(response.status_code)    return response

获取今日的基本数据

参数名是否必须参数说明类型及范围
appkey必选APP标识string
响应字段字段说明
date日期
active_user活跃用户
installations总用户数
launches启动次数
new_users新增用户
#获取今日的基本数据def today_data(appkey, auth_token):
    url = 'http://api.umeng.com/today_data?appkey=%s&auth_token=%s'%(appkey,auth_token)
    response = requests.get(url);print(response.status_code)    return response

获取任意日期的基本数据

参数名是否必须参数说明类型及范围
appkey必选APP标识string
date可选查询日期,格式为2013-03-01string
响应字段字段说明
date日期
active_user活跃用户
installations总用户数
launches启动次数
new_users新增用户
#获取任意日期的基本数据def base_data(appkey, date, auth_token):
    url = 'http://api.umeng.com/base_data?appkey=%s&date=%s&auth_token=%s'%(appkey,date,auth_token)
    response = requests.get(url)    return response.json()

获取用户群列表

#获取用户群列表def segmentations(appkey, auth_token):
    url = 'http://api.umeng.com/segmentations?appkey=%s&auth_token=%s'%(appkey,auth_token)
    response = requests.get(url)    return response.json()

获取新增用户汇总

参数名是否必须参数说明类型及范围
appkey必选APP标识string
start_date必选开始日期,2012-08-15string
end_date必选结束日期,2012-09-04string
period_type可选日期类型,daily / weekly / monthly,默认为dailystring
channels可选渠道id,以,分割,如4f6c5c4852701534c9000007,4f86490752701575f5000004string
versions可选版本号,以,分割,如1.1.0,1.1.3string
segments可选分群id,以,分割,如4f6c5c4852701534c9000008,4f86490752701575f5000005string
#获取新增用户汇总def new_users(appkey, start_date, end_date, auth_token):
    url = 'http://api.umeng.com/new_users?appkey=%s&start_date=%s&end_date=%s&auth_token=%s'%(appkey, start_date, end_date, auth_token)
    response = requests.get(url)    return response.json()

获取活跃用户汇总

参数名是否必须参数说明类型及范围
appkey必选APP标识string
start_date必选开始日期,2012-08-15string
end_date必选结束日期,2012-09-04string
period_type可选日期类型,daily / weekly / monthly,默认为dailystring
channels可选渠道id,以,分割,如4f6c5c4852701534c9000007,4f86490752701575f5000004string
versions可选版本号,以,分割,如1.1.0,1.1.3string
segments可选分群id,以,分割,如4f6c5c4852701534c9000008,4f86490752701575f5000005string
#获取活跃用户汇总def active_users(appkey, start_date, end_date, auth_token):
    url = 'http://api.umeng.com/active_users?appkey=%s&start_date=%s&end_date=%s&auth_token=%s'%(appkey, start_date, end_date, auth_token)
    response = requests.get(url)    return response.json()

获取自定义事件Group列表

参数名是否必须参数说明类型及范围
appkey必选APP标识string
start_date必选开始日期,2013-01-23string
end_date必选结束日期,2013-02-03string
period_type必选日期类型,daily / weekly / monthly,默认为dailystring
versions可选版本号以,分割,如1.1.0,1.1.3string
#获取自定义事件Group列表def group_list(appkey, page, per_page, start_date, end_date, period_type, auth_token):
    url = 'http://api.umeng.com/events/group_list?appkey=%s&page=%s&per_page=%s&start_date=%s&end_date=%s&period_type=%s&auth_token=%s'%(appkey,page,per_page,start_date,end_date,period_type,auth_token)
    response = requests.get(url)    return response.json()

获取自定义事件列表

参数名是否必须参数说明类型及范围
appkey必选APP标识string
start_date必选开始日期,2013-01-23string
end_date必选结束日期,2013-02-03string
period_type必选daily / weekly / monthly,默认为dailystring
group_id必选从group_list列表中取到的group_idstring
#获取自定义事件列表def events_list(appkey, start_date, end_date, period_type, group_id, auth_token):
    url = 'http://api.umeng.com/events/group_list?appkey=%s&start_date=%s&end_date=%s&period_type=%s&group_id=%s&auth_token=%s'%(appkey, start_date, end_date, period_type, group_id, auth_token)
    response = requests.get(url)    return response.json()

获取事件消息数/独立用户数

参数名是否必须参数说明类型及范围
appkey必选APP标识string
start_date必选开始日期,2013-01-23string
end_date必选结束日期,2013-02-03string
period_type必选daily / weekly / monthly,默认为dailystring
group_id必选从group_list列表中取到的group_idstring
type必选count / device,默认为countstring
#获取事件消息数/独立用户数def events(appkey,group_id,type,start_date,end_date,auth_token):
    url = 'http://api.umeng.com/events/daily_data?appkey=%s&group_id=%s&type=%s&start_date=%s&end_date=%s&auth_token=%s'%(appkey,group_id,type,start_date,end_date,auth_token)
    response = requests.get(url)    return response.json()

获取参数列表 / 获取参数消息数

当自定义事件有配置参数的时候,获取自定义事件的点击数据,如下:

#获取参数列表def parameter_list(appkey,event_id,type,start_date,end_date,auth_token):
    url = 'http://api.umeng.com/events/parameter_list?appkey=%s&event_id=%s&type=%s&start_date=%s&end_date=%s&auth_token=%s'%(appkey,event_id,type,start_date,end_date,auth_token)
    response = requests.get(url)    return response.json()#获取参数消息数def parameter_data(appkey,event_id,start_date,end_date,auth_token):
    url = 'http://api.umeng.com/events/parameter_data?appkey=%s&event_id=%s&label=navigate&start_date=%s&end_date=%s&auth_token=%s'%(appkey,event_id,start_date,end_date,auth_token)
    response = requests.get(url)    return response.json()

哎呀,肚子好饿,吃饭去了,实际应用参考下文~



作者:黄嘉锋
链接:https://www.jianshu.com/p/06b4b72a021f


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

获取错误率怎么统计的啊,api是啥

查看全部评论