百度统计api获取数据(前端调用)

需求场景



想要了解每天多少人访问了网站,多少个新增用户,地域分布,点击了哪些页面,停留了多久,等等。。。

国内用的最多的就是百度统计吧,傻瓜式的注册然后插一段代码到项目里就行了。

最近也在自己的博客里使用了百度统计,但是当想要获取这些数据时,看到官方文档,简直想骂人。网上也不是没有代码示例,但清一色的都是java代码,而官网给出的demo也是php,这是要逼死前端吗?



来吧,直接上代码:

1.  获取站点    https://api.baidu.com/json/tongji/v1/ReportService/getSiteList

const router = require(‘koa-router‘)()
const fetch = require(‘node-fetch‘);   

router.get(‘/siteList‘, async (ctx, next) => {
    let res = await fetch(‘https://api.baidu.com/json/tongji/v1/ReportService/getSiteList‘, {
        method: ‘POST‘,
        body: JSON.stringify({
            "header": {
                "account_type": "1",
                "username": "百度统计账号",
                "password": "百度统计登录密码",
                "token": "token",
            }
        })
    }).then(res => {
        return res.json();
    }).then(res => {
        ctx.body = {
            code: 0,
            flag: true,
            rows: res.body.data[0].list,
            obj: {},
            total: 0
        }
    }).catch(e =>{
        ctx.body = {
            code: 0,
            flag: false,
            rows: [],
            obj: {},
            total: 0
        }
    })
});

module.exports = router

2. 获取站点数据    https://api.baidu.com/json/tongji/v1/ReportService/getData

const router = require(‘koa-router‘)()
const fetch = require(‘node-fetch‘);

router.get(‘/statistics‘, async (ctx, next) => {
    let res = await fetch(‘https://api.baidu.com/json/tongji/v1/ReportService/getData‘, {
        method: ‘POST‘,
        body: JSON.stringify({
            "header": {
                "account_type": "1",
                "username": "百度统计账号",
                "password": "百度统计登录密码",
                "token": "token",
            },
            "body": {
                "site_id": "12847821",
                "method": "overview/getTimeTrendRpt",
                "start_date": "20181128",
                "end_date": "20251212",
                "metrics": "pv_count,visitor_count,ip_count,avg_visit_time",
                "gran": "day",
                "max_results": "0"
            }
        })
    }).then(res => {
        return res.json();
    }).then(res => {
        ctx.body = {
            code: 0,
            flag: true,
            rows: res.body.data[0].result,
            obj: {},
            total: 0
        }
    }).catch(e =>{
        ctx.body = {
            code: 0,
            flag: false,
            rows: [],
            obj: {},
            total: 0
        }
    })
});

module.exports = router

以上是基于 Koa2 的代码,不懂也没关系,主要是 绿色参数部分,这是官网文档没有写的,前端其它请求方式 ajax、axios、fetch 都可以参考。

原文地址:https://www.cnblogs.com/hcxy/p/10107682.html

时间: 2024-08-29 09:40:58

百度统计api获取数据(前端调用)的相关文章

百度地图API获取数据

目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的.除了百度提供api,国内提供免费API获取数据的还有很多,包括新浪.豆瓣电影.饿了么.阿里.腾讯等今天使用百度地图API来请求我们想要的数据. 第一步.注册百度开发者账号 注册成功后就可以获取到应用服务AK也就是API秘钥,这个是最重要的,应用名称可以随便取,如果是普通用户一天只有2000调用限额,认证用户一天有10万次调用限额 在百

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地(转)

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地 我是应用在微信中,自定义菜单,菜单直接链接到这个HTML5页面,获取当前位置后,页面中定好目的地,这样打开页面后直接进入导航页面 可以省下先发送位置信息后,点确定再出导航,省一步, <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"> <meta name="viewpor

C# WPF从RIOT API获取数据(RIOT代表作品《英雄联盟》)

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF从RIOT API获取数据(RIOT代表作品<英雄联盟>) 阅读导航 本文背景 代码实现 本文参考 1. 本文背景 RIOT(拳头)是一家美国网游开发商,成立于2006年,代表作品<英雄联盟>. 本文重点要讲解两个知识点: C# 使用 HttpClient 访问 RIOT 提供的 API 接口,获取召唤者概况信息: C# WPF界面展示召唤者信息搜索.概况信息两个界

根据百度地图API获取指定地点的经纬度

做项目时,遇到对地点获取地图中对应的经纬度,作一下笔记,以备以后直接使用 package com.hpzx.data; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.n

使用api获取数据————小程序

使用api获取数据----小程序 onLoad: function (options) { //打开页面即执行. let that = this; wx.request({ //建立链接 url: 'http://web.juhe.cn:8080/constellation/getAll', //api获取的地址 data: { consName: "巨蟹座", //给api传输的数据 type: "today", //给api传输的数据 key: app.glob

调用百度汇率api 获取各国的汇率值

设置一个定时任务,每天更新汇率java代码如下 package com.thinkgem.jeesite.modules.huiLvApi.service; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Date;

HTML5 利用百度地图API获取当前位置

由于项目需要定位到城市,研究了地理定位,做了一些手记,和大家分享一下~ 项目的开发需求是获取到当前用户的位置,然后为用户提供一些服务. 此时可以采用两种定位方式,一种是用GPS的定位,然后将定位到的经纬度传递到百度地图的API接口当中.另一种方法是利用百度API接口,使用IP地址定位,然后使用IP地址获取到的经纬度,传递到百度地图API接口中. 自己尝试使用了这两种方式进行定位.相对来说,IP地址定位,偏差比较大.GPS定位虽然还可以,但是也不足够精确.产生比较大偏差的原因有可能是以下几点造成的

C#/.NET使用HttpWebRequest、SqlBulkCopy从API获取数据批量插入DB

小弟新手程序员一枚,代码技术和文章水平均不才.所写文章均为对自己所写所学代码的简单记录,可能对于老手程序员营养价值不高,望莫见怪. 我工作上有个需求:从某处API接口上获取数据(大约1W条而已)并插入到数据库中. 楼主刚毕业菜鸟,没做过批量插入操作.借助baidu搜索得知SqlBulkCopy可以实现.SqlBulkCopy相关的原理,我现在还没了解就不摆弄了,以后补上! (不要问为什么不用google,公司内网就连msdn.microsoft.com都不给上!另外我公司是开发C#/.NET的,

PhoneGap Geolocation结合百度地图api获取地理位置api

一.使用百度地图API 1.地址:http://developer.baidu.com/map/ 2.在js DEMO中获取反地址解析的DEMO 3.修改这个DEMO的密钥,去创建应用就能创建密钥,然后复制密钥到这个页面即可 4.使用PhoneGap Geolocation 获取地理位置获取到的经度和纬度赋值给point即可 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <