Ремонт компьютера
Сборка, чистка, апгрейт ремонт любой техники.
Замена частей, установка ПО, установка Windows, антивируса.
Удаленная помощь без вызова на дом.
Создание сайта
Создание сайта с нуля, модулей, скриптов для сайта.
Движки Joomla, Wordpress, Opencart, Prestashop и тд.
SEO продвижение, ремонт, оптимизация сайта.

Статистику посещейний в графике API Яндекс.Метрики

Сначала прикрепил себе статистику посещений в графике API Яндекс.Метрики но спустя время накрылась. Да в Инете есть решения, ранее делал простую метрику с http://api-metrika.yandex.ru/stat/traffic/summary.json и AmCharts.makeChart. Но с недавних пор они прикрыли лавочку. И мой график накрылся. Нужно было использовать новую https://api-metrika.yandex.ru/stat/v1/data?[…]. Поэтому решил и график другой повесить, попался вот этот Highcharts. Вполне неплохой, но загвоздка что описание которое нашел тут. Предусматривает что запрос на получение и тд выполняет сервер. А я не хотел бы лишний раз его дергать, тем более у меня этот график в админке, где уже «все свои» (авторизованы), поэтому токен светить некому. Поэтому по его примеру, из php перегнал в js. Чтобы уменьшить нагрузку на макс. Вот и решил с вами поделиться, может кому пригодиться, на скорую руку накидал, работает. Если предложите исправления по коду, буду ток рад.

Собственно js (самое главное):

// от рекламы избавимся
setInterval(function(){clear()}, 100);
function clear(){
$('.highcharts-credits').remove();
}
$(document).ready(function(){
getLineData()
});
// получим данные
function hight(categ,series){
Highcharts.chart('container', {
chart: {
type: "spline"
},
title: {
text: "Активность посетителей за последние 30 дней",
x: -20
},
xAxis: {
categories: categ
},
yAxis: {
title: {
text: "Количество"
}
},
legend: {
layout: "vertical",
align: "right",
verticalAlign: "middle",
borderWidth: 0
},
series: series
});
}
function getLineData() {
$.ajax({
url: 'https://api-metrika.yandex.ru/stat/v1/data?ids=[ id метрики ]&oauth_token=[ токен ]&metrics=ym%3As%3Avisits%2Cym%3As%3Apageviews%2Cym%3As%3Ausers&dimensions=ym%3As%3Adate&date1=30daysAgo&date2=yesterday&sort=ym%3As%3Adate',
type: 'post',
dataType: 'jsonp',
error: function (json) {
alert(json);
},
success: function (json) {
var chars={
'visits':[],
'pageviews':[],
'users':[],
'categories':[]
}
$.each(json.data, function (i, el) {
chars.visits.push(el.metrics[0]);
chars.pageviews.push(el.metrics[1]);
chars.users.push(el.metrics[2]);
chars.categories.push(el['dimensions'][0]['name']);
});
var a=[];
a.push({'name': "Визиты",'data': chars.visits});
a.push({'name': "Просмотры",'data': chars.pageviews});
a.push({'name': "Посетители",'data': chars.users});
hight(chars.categories,a);
}
});
}

Вышло это:

P.s. Не забудьте подставить свой [ id метрики ] и [ токен ].

Название статьи при не правильной раскладке клавиатуры: Cnfnbcnbre gjctotqybq d uhfabrt API Яyltrc.Vtnhbrb
Если вдруг появилось желание поблагодарить автора,просто нажмите на рекламу чуть ниже, этого будет достаточно :)

Добавить комментарий

Ваш e-mail не будет опубликован.

Вставьте верное число *