百度登录地址:http://dev2.baidu.com/newdev2/dist/
申请开通API 权限, 权限开通后,签署线上协议,获得权限代码 token
根据token, 账号信息就可以拉取相关报告
获取百度推广账号报告有两种模式
SEM/搜索账户报告
public static final String SEM_URL = "https://api.baidu.com/json/sms/service/ReportService/getRealTimeData";
public AjaxResult getSemReport(BaiduReportEntity reportEntity) throws Exception {
String method = "[百度推广-获取 SEM/搜索账户报告] ";
log.info(method + "--------------------start");
reportEntity.setReportType(2);
if (StringUtils.isEmpty(reportEntity.getStartDate()) || StringUtils.isEmpty(reportEntity.getEndDate())) {
log.info(method + "未指定开始时间");
return AjaxResult.error("未指定开始时间");
}
log.info(method + "账户:{},时间范围:{} ~ {}", reportEntity.getUsername(), reportEntity.getStartDate(), reportEntity.getEndDate());
return BaseBaidu.getResult(OkHttpUtils.getInstance().postJson(SEM_URL, getParams(reportEntity)));
}
获取信息流账户报告
public static final String FLOW_URL = "https://api.baidu.com/json/feed/v1/ReportFeedService/getRealTimeFeedData";
public AjaxResult getFlowReport(BaiduReportEntity reportEntity) throws Exception {
String method = "[百度推广-获取信息流账户报告] ";
log.info(method + "--------------------start");
reportEntity.setReportType(700);
if (StringUtils.isEmpty(reportEntity.getStartDate()) || StringUtils.isEmpty(reportEntity.getEndDate())) {
log.info(method + "未指定开始时间");
return AjaxResult.error("未指定开始时间");
}
log.info(method + "账户:{},时间范围:{} ~ {}", reportEntity.getUsername(), reportEntity.getStartDate(), reportEntity.getEndDate());
return BaseBaidu.getResult(OkHttpUtils.getInstance().postJson(FLOW_URL, getParams(reportEntity)));
}