接入方法
本文档所描述的 API 接口,适用于 百度移动统计 所有用户,用户需要通过百度开发者中心的身份验证,才能正常调用百度移动统计的 API,具体步骤如下:
该平台通过百度账号登录,如未有百度账号,可以先注册百度账号。
通过百度开发者中心获得开发者权限,注册开发者
创建工程,获得
API Key
和Secret Key
,注册回调URL,该URL用于完成账号授权后的跳转(可选)所创建工程与百度移动统计中的应用完全独立,
API Key
与Secret Key
仅用于后续验证身份使用百度账号登录
已经申请了百度开发者权限的用户,所注册和设置的信息与API调用紧密相关,包括
API Key
,Secret Key
,回调 URI。用户通过如下 URL 进入百度账号登录页,登录完成后将跳转至您设置的回跳URL:http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope=basic&display=popup
其中:
{CLIENT_ID}
填写您的API Key
{REDIRECT_URI}
填写您自己的页面回跳URL,如果您没有回跳页面,请填入oob
,填入oob
后,用户授权完成后会直接出现一个页面,您需要复制页面中的code,否则将跳转至您设置的页面,并带上code
参数
通过身份验证获取
ACCESS_TOKEN
用户同意授权后,页面将跳转至
{REDIRECT_URI}/?code={CODE}
,获取{CODE}
值后可将其加入以下URL换取ACCESS_TOKEN
:http://openapi.baidu.com/oauth/2.0/token?grant_type=authorization_code&code={CODE}&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&redirect_uri=oob
其中:
{CLIENT_ID}
填写您的API Key
{CLIENT_SECRET}
填写您的Secret Key
返回如下:
{ "expires_in": 2592000, "refresh_token":"2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328", "access_token":"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328", "session_secret":"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn", "session_key":" 248APxvxjCZ0VEC43EYrvxqaK4oZExMB", "scope":"basic" }
您可以使用
access_token
进行接下来的API请求。调用百度统计API
获取的
ACCESS_TOKEN
是所调用API的用户级参数,结合各API的应用级参数即可正常调用API获取数据,例子如下所示:https://openapi.baidu.com/rest/2.0/mtj/svc/config/getAppList?access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328
更新
ACCESS_TOKEN
从上述步骤得到的数据中包含
ACCESS_TOKEN
和REFRESH_TOKEN
两个值,其中ACCESS_TOKEN
的有效期为一个月,REFRESH_TOKEN
的有效期为十年。REFRESH_TOKEN
的作用就是刷新获取新的ACCESS_TOKEN
和REFRESH_TOKEN
,如此反复操作来实现ACCESS_TOKEN
有效期永久的机制。
一旦ACCESS_TOKEN
过期,可根据以下请求更换新的ACCESS_TOKEN
和REFRESH_TOKEN
:http://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token={REFRESH_TOKEN}&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}
返回如下:
{ "expires_in": 2592000, "refresh_token":"2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328", "access_token":"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328", "session_secret":"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn", "session_key":" 248APxvxjCZ0VEC43EYrvxqaK4oZExMB", "scope":"basic" }