node 调用腾讯大数据接口
?
第一步
:進入網址?http://mta.qq.com/mta/base/ctr_err?app_id=1注冊如下圖點擊注冊一個應用
?
?
?
?
?
?
======第二步:如下圖所示,點擊新建應用
第三步:
應用注冊如下圖點擊進入應用管理(http://mta.qq.com/h5/manage/ctr_app_manage?app_id=500582001)
?
?
?
第四步:在應用管理中我們可以看到APP ID以及SECRET KEY以及配置指南,這個復制粘貼到html的最后一個js后</body>之前
?
?
?
第五步 ?在網址(http://mta.qq.com/mta/overview/ctr_all_app_new?tab=2)這兒查看我們的應用并進行管理
?
第六步:將應用管理的統計代碼放到前端html的最后js
?
第七步:寫一個封裝函數配置參數,注意引用模塊,代碼如下digdata_tx.js:
?
'use strict';
const md5 = require('md5');
const request = require('request');
exports.bigdata = {
readdata: function(path, params, callback) {
const URL = 'http://mta.qq.com/';
const secret_key = '08cxxxxxxxxxxxxxxx1d5b3027058f';
params.app_id = 5xxxxxxxxxxxxxxxx01;
let paramsArray = new Array();
for(let item in params) {
paramsArray.push(`${item}=${params[item]}`);
}
paramsArray.sort();
let sign = md5(secret_key + paramsArray.join(''));
params.sign = sign;
request.post({
url: URL + path,
form: params
}, function(error, response, body) {
if(!error && response.statusCode == 200) {
let res = JSON.parse(body);
if(res.code !== 0)
callback({msg:res.info + ' !tips: message from tencent'}, null);
else
callback(null, res.data);
} else {
callback(error, null);
}
})
}
};
?
第八步引入上面的js以及相應模塊以及寫接口請求數據
const joi = require('joi');
const internals = {};
const security = require('../libs/security');
const bigdata_tx = require('../libs/bigdata_tx');
const mongoose = require('mongoose');
const moment = require('moment');
//const yar=require('yar');
{
method: ['post'],
path: '/ctr_core_data',
config: {
tags: ['api'],
description: '應用每天的pv uv vv iv數據',
notes: '跳出率和在線時長是什么參數???',
validate: {
payload: joi.object({
start_date:joi.string().default(moment().subtract(7,'day').format('YYYY-MM-DD')).min(10).max(10).error(new Error('格式必須為(Y-m-d)')).description('開始時間(Y-m-d),默認7天前'),
end_date:joi.string().default(moment().format('YYYY-MM-DD')).min(10).max(10).error(new Error('格式必須為(Y-m-d)')).description('結束時間(Y-m-d)默認當前時間'),
idx:joi.string().default('pv,uv,vv,iv').error(new Error('傳入參數必須為字符串類型')).description('使用“,”間隔查詢指標,默認pv,uv,vv,iv'),
}),
failAction: FailAction
},
response: {
schema: responseModel
},
},
handler: (request, reply) => {
let cookie = request.state;
if(cookie.logininfo) {
let accountobj = JSON.parse(security.aes.decrypt(cookie.logininfo));
let values={
start_date:request.payload.start_date,
end_date:request.payload.end_date,
idx:request.payload.idx,
}
bigdata_tx.bigdata.readdata('h5/api/ctr_core_data',values,(err,res)=>{
if(err){
reply({code:111,msg:'fail',data:err});
return;
}
reply({code:0,msg:'success',data:res});
})
} else {
reply({
code: 510,
msg: '登錄超時,請重新登錄!',
data: null
});
}
}
},
轉載于:https://www.cnblogs.com/luoliangfei/p/8359393.html
總結
以上是生活随笔為你收集整理的node 调用腾讯大数据接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj3438: 小M的作物
- 下一篇: 像Excel一样使用python进行数据