Привет уважаемое сообщество LiveStreet. Мы от студии DevArt, решили сделать небольшой новогодний подарок любителям LS и Google. В своё время (примерно 12 октября) компания Google сменила API, и старая версия работать перестала. Тема замялась. А жаль :). Мы нашли способ заставить эту красотищу работать.
Живой пример можете лицезреть вот тут.
В новой версии есть несколько оговорок… Особенно как же достать злополучный ID? Старлеи то разберутся, а вот у новичков точно могут возникнуть проблемы. Вот инструкция:
В конфиг файле (config.php) у вас есть стандартные параметры типа username, password, и есть id. Вот охоту за ним мы и устроим. Что бы получить ID, надо зайти в google analitycs, дальше как показано на скриншоте найти строчку Изменить и клацнуть туда.
Как показано на втором скриншоте — ваш id находится тут :).
Теперь погорим о настройке, параметрах и как же это чудо вставить в LS?!
Ну, о мелочах типа регистрации в ГА, я говорить не стану, это как бы по дефолту быть должно.
И так:
1.Загружаем в корень папки js и stat. На stat права ставим 777 (755 на американских хостах как правило).
2.Заполняем файл config.php и на все файлы формата .csv даём права на запись. (особые извращенцы могут в настройках каждого отчёта заставить генерироваться xml).
3.Теперь о том что может статистика? Он может выводить статистку о:
Тенденция роста,
Посещения просмотры,
Браузеры,
ОС.
По сути можно заставить сделать импорт чего угодно из ГА, но мы сделали именно эти пункты, кто хочет дополнить — пожалуйста.
Далее. Что бы проверить работу статистики запустите index.php из папки после выполнения вышеуказанных инструкций. Если всё работает, самое время идти на сайт. Создавайте страницу, и туда импортируйте статистику:
Ну ессесно, там же мои данные были (просто чем-то файлы заполонить надо было .csv). Обратитесь к stat/stat.php в случае если автоматическое обновление при заходе не происходит
При обращении к www.mysite.ru/stat/stat.php возвращается ошибка:
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: «Invalid value for ids parameter: ga: ХХ-ХХХХХХХ-Х»' in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php:218 Stack trace: #0 /var/www/vhosts/mysite.ru/httpdocs/stat/stat.php(14): gapi->requestReportData('ХХ-ХХХХХХХ-Х', Array, Array, 'year', NULL, '2009-07-01', '2009-11-30', 1, 1000) #1 {main} thrown in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php on line 218
А вы всё сделали по инструкции? Подключили аналитикс, вставили код, файлам дали права на запись? Конкретнее объясните что работает не так, или не работает в общем, я же не телепат, верно?
Все сделано строго по инструкциям, аналитикс подключен, код вставлен, файлам выставлены нужные права.
Статистика на странице не отображается.
При попытке зайти в stat.php выдается ошибка:
При обращении к www.mysite.ru/stat/stat.php возвращается ошибка:
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: «Invalid value for ids parameter: ga: ХХ-ХХХХХХХ-Х»' in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php:218 Stack trace: #0 /var/www/vhosts/mysite.ru/httpdocs/stat/stat.php(14): gapi->requestReportData('ХХ-ХХХХХХХ-Х', Array, Array, 'year', NULL, '2009-07-01', '2009-11-30', 1, 1000) #1 {main} thrown in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php on line 218
мм, права точно выставили все на запись на папки/файлы? Путь в config.php прописали? Самый низ файла. Он то автоматом подхыватывается, то нет, от настройки сервера зависит.
Хм… странно, так изучим проблему… Странно, народ извиняйте на разных сайтах и движках у разных хостеров у нас всё пашет.
У кого есть логи — посмотрите пожалуйста или мне в личку скиньте ссылки на них, попробуем понять почему ни у кого крмое нас это не работает
Прописывал варианты:
/var/www/vhosts/mysite.ru/httpdocs/stat/
/www/vhosts/mysite.ru/httpdocs/stat/
/vhosts/mysite.ru/httpdocs/stat/
/mysite.ru/httpdocs/stat/
/httpdocs/stat/
/stat/
Результат один:
При обращении к www.mysite.ru/stat/stat.php возвращается ошибка:
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: «Invalid value for ids parameter: ga: ХХ-ХХХХХХХ-Х»' in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php:218 Stack trace: #0 /var/www/vhosts/mysite.ru/httpdocs/stat/stat.php(14): gapi->requestReportData('ХХ-ХХХХХХХ-Х', Array, Array, 'year', NULL, '2009-07-01', '2009-11-30', 1, 1000) #1 {main} thrown in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php on line 218
Ну, тут пара вариантов, либо просто уменьшить количество городов которые должны выводится в файле config.php, либо увеличить размер диаграммы в нужном .js файле :-)
Спасибо, увеличение диаграммы помогло, а вот сокращение количества стран которые выводится в файле config.php не дало никакого результата, можете проверить.
Devil кстати, а почему Значение «Используемые ОС» у всех одинаковые? Что у вас на сайте, что у других, абсолютно идентичные значения выдает. Остальные данные обрабытываются вроде верно, тока «Используемые ОС», проверьте пожалуйста.
После недели тестирования обнаружилась проблемка с автообновлением статистики. Статистика по ссылке www.mysite.ru/stat/ устаревшая до тех пор, пока не выполнить www.mysite.ru/stat/stat.php
Вчера поставил статистику, очень доволен, спасибо Автору!
И тоже была мысль об обновлении, автоматом будет происходить или ставить на Cron, думал подождать пару дней :) но раз ты уже ждал — наверное Cron нужен.
Что то сегодня выполнил ..../stat/stat.php — показывает статистику от 31.12.2009 хотя вроде как должен показать за 2.01.2010. Кто подскажет в чем трабла?
С графиком все в порядке, а вот самостоятельное автообновление без перехода по адресу www.mysite.ru/stat/stat.php а также по поводу того, почему Значение «Используемые ОС» у всех одинаковые, не выясненно и не пофиксено… ждем от автора решения проблем.
Привет друзья, всех с наступившими праздниками, извините, в праздничное время возможности заняться проектом серьёзно почти нет, я думаю в ближайшее время решим проблему :)
Проблема с трехмесячной статистикой решена:
из этого архива statga.googlecode.com/files/statga_3.1.zip распакуйте в stat все, вроме вашего config.php и обновите статистику stat/stat.php
Ставь на Cron и все дела. Каждый день заниматься ручным обновлением это как-то туповато.
Об этом я писал чуть выше, если кто считает это не правильным — пусть напишет в чем минусы такого метода, а не в тупую минусует (касается того кто ставил минус к моему предыдущему комменту)
Самостоятельное автообновление без перехода по адресу www.mysite.ru/stat/stat.php, а также по поводу того, почему Значение «Используемые ОС» у всех одинаковые, так и осталось не выясненным и не пофиксеным, и автор куда-то пропал. Может кто самостоятельно решил эти вопросы? Cron для автообновления не предлагать.
С ОС и браузерами там вроде просто. Добавил несколько новых отчетов — Браузеры, ОС, источники трафика, рефераллы, время на сайте.
В конфиг.пхп нужно добавить после $cityCSV=«city.csv»; это
//////Длительность пребывания на сайте для всех посетителей
$ga->requestReportData($id,array('day','month'),array('timeOnSite','visits'),'month',null,$date1MonthStart, $date1MonthFinish,1,30);
//переменная для записи резалта
$output="";
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$d=$result; //день
$visits=$result->getVisits(); //посетители
$timeOnSite=$result->getTimeOnSite(); //посещения
$timeOnSite=$timeOnSite/$visits;
$timeOnSite=round($timeOnSite);
#$timeOnSite=date ("i:s", $timeOnSite);
//приводим дату к удобочитаемому виду ,мменяем пробелы на точки
$d=str_replace(" ",".",$d);
//формируем строку
$output.=$d.";".$timeOnSite."\n";
}
//пишем в файл
$fp=fopen($path.$timeOnSiteCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем БРАУЗЕРЫ за последний месяц
$ga->requestReportData($id,array('browser'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,5);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$browser=$result->getBrowser(); //Браузеры
$visits=$result->getVisits(); //кол-во посещений
//формируем строку
$output.=$browser.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$browsersCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем Операционные системы за последний месяц
$ga->requestReportData($id,array('operatingSystem'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,4);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$operatingsystem=$result->getOperatingSystem(); //Браузеры
$visits=$result->getVisits(); //кол-во посещений
$operatingsystem=str_replace("(not set)","не определено",$operatingsystem);
//формируем строку
$output.=$operatingsystem.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$operatingsystemCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем Источники трафика системы за последний месяц
$ga->requestReportData($id,array('medium'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,6);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$medium=$result->getMedium(); //Источники трафика
$visits=$result->getVisits(); //кол-во посещений
$medium=str_replace("(none)","Прямой трафик",$medium);
$medium=str_replace("organic","Поисковые системы",$medium);
$medium=str_replace("referral","Сайты - источники переходов",$medium);
//формируем строку
$output.=$medium.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$referrersCSV,"w");
fputs($fp,trim($output));
fclose($fp);
//////получаем сайты с которых ходили
$ga->requestReportData($id,array('source'),array('visits'),'-visits',null,$date1MonthStart, $date1MonthFinish,1,8);
//переменная для записи резалта
$output="";
//получаем общее число браузеров
$total_visits=$ga->getVisits();
//получаем и обрабатываем результаты
foreach($ga->getResults() as $result)
{
$source=$result->getSource(); //Источники трафика
$visits=$result->getVisits(); //кол-во посещений
$source=str_replace("(direct)","Прямой трафик",$source);
//формируем строку
$output.=$source.";".$visits."\n";
}
//пишем в файл
$fp=fopen($path.$sourceCSV,"w");
fputs($fp,trim($output));
fclose($fp);
в папке stat создать соответствующие файлы:
browsers_settings.xml, timeonsite.xml,os_settings.xml, referrers_settings.xml, source.xml — по аналогии с существующими, т.е. если это график amline — файл создавать на основе visitors_settings.xml, если удельные веса — ampie, то на основе country_settings.xml и т.д.
Для отображение длительности пребывания на сайте нужно скачать график amxy.swf и положить в папку stat с остальными amcharts.com/files/getfile.php?filename=amxy_1.6.4.1.zip
У меня только трабла возникла с копирайтами:
1.Есть файл amcharts_key.txt с ключом. Если файл statistics.html, которыей инклюдю в другом пхп скрипте, вылазиют копирайты, хотя непосредственно в самом statistics.html не отображаются. Куда только этот файл не ложил — если инклюдишь — все-равно вылазиют.
2. Копирайты вылазиют также на графике «длительность пребывания на сайте». Победить тоже пока не могу.
Здравствуйте. Скажите пожалуйста, а есть ли возможность на базе этого плагина сделать вывод графической информации из файла xml или другой базы? К примеру, так?
Помогите, пожалуйста. Сделал все по инструкции, права дал, при выполнении site.ru/stat/stat.php никаких ошибок не выдает (готово и пустая страница), но на site.ru/stat/ выводится чужая статистика еще за 2009 год. Куда еще можно посмотреть?
Тоже пробовал. Дело в том, что даже если я указываю в config.php заведомо неверные данные при выполнении stat.php не выдает никаких ошибок, просто «готово» и пустая страница.
Может кто сталкивался и знает в чем тут загвоздка. Рассматриваемый ресурс городской и ориентирован на один конкретный город. В отчетах Google Analytics неправильно указывается город пользователи которого составляют львиную долю заходов. Почему я решил что не правильно? В Яндекс Метрике хоть и не указывается город, но правильно показана область в которой находится тот город по идеи пользователи которого составляют основную массу пользователей сайта. А то что отображается в Google Analytics находится совсем в другой области. Посмотрел у конкурентов, также использующих Google Analytics, у них все нормально.
Попробовал принудительно в файле выставить city.csv выставить название нужного города. На сайте стало отображаться как и хотел, но файл city.csv как я понимаю постоянно обновляемый. После выполнения site.ru/stat/stat.php все вернулось как и было.
Можно ли еще как то принудительно выставить название города?
я использовал скрипты из этого комментария, но ничего не получилось. воспользоваться скриптами тс нет возможности, так как ссылки из топика уже не существуют.
Блин, уже 4 час не могу заставить работать. Беру последнюю версию 3.01 в ней почему то stat.php некорректно работает, такое ощущение, что где то что то не закомментированно, потому что выводится часть php кода в котором я не рублю. Пробовал несколько версий, на более старых stat.php вроде как нормально отрабатывает, нету текста никакого и видно, в челом что что то думает, но в итоге в index.php наблюдаю Error loading file:visitors.csv?.. country.csv?.. и т.д.
Пробовал рекурсивно поставить права 777 целиком на папку stats. Путь в $path везде прописывал, данные в config.php писал. php5-cURL установлен. Блин помогите замучался совсем.
91 комментарий
Соответственно не работает и ничего не скачивается.
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: «Invalid value for ids parameter: ga: ХХ-ХХХХХХХ-Х»' in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php:218 Stack trace: #0 /var/www/vhosts/mysite.ru/httpdocs/stat/stat.php(14): gapi->requestReportData('ХХ-ХХХХХХХ-Х', Array, Array, 'year', NULL, '2009-07-01', '2009-11-30', 1, 1000) #1 {main} thrown in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php on line 218
Статистика на странице не отображается.
При попытке зайти в stat.php выдается ошибка:
При обращении к
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: «Invalid value for ids parameter: ga: ХХ-ХХХХХХХ-Х»' in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php:218 Stack trace: #0 /var/www/vhosts/mysite.ru/httpdocs/stat/stat.php(14): gapi->requestReportData('ХХ-ХХХХХХХ-Х', Array, Array, 'year', NULL, '2009-07-01', '2009-11-30', 1, 1000) #1 {main} thrown in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php on line 218
config несколько раз проверил.
Не помогло… Я что-то кроме пустой страницы должен увидеть?
Путь верный…
У кого есть логи — посмотрите пожалуйста или мне в личку скиньте ссылки на них, попробуем понять почему ни у кого крмое нас это не работает
Ссылка ушла в личку.
Все работает спасибо!
?
У меня был /httpdocs/stat/ Прописал полностью и все нормально.
/var/www/vhosts/mysite.ru/httpdocs/stat/
/www/vhosts/mysite.ru/httpdocs/stat/
/vhosts/mysite.ru/httpdocs/stat/
/mysite.ru/httpdocs/stat/
/httpdocs/stat/
/stat/
Результат один:
При обращении к
Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: «Invalid value for ids parameter: ga: ХХ-ХХХХХХХ-Х»' in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php:218 Stack trace: #0 /var/www/vhosts/mysite.ru/httpdocs/stat/stat.php(14): gapi->requestReportData('ХХ-ХХХХХХХ-Х', Array, Array, 'year', NULL, '2009-07-01', '2009-11-30', 1, 1000) #1 {main} thrown in /var/www/vhosts/mysite.ru/httpdocs/stat/gapi.class.php on line 218
«550», «550» — вот они :) Их можно увеличивать :)
И тоже была мысль об обновлении, автоматом будет происходить или ставить на Cron, думал подождать пару дней :) но раз ты уже ждал — наверное Cron нужен.
Как пофиксить? Кто знает?
Поменять на это:
из этого архива
«Статистика по ссылке
Об этом я писал чуть выше, если кто считает это не правильным — пусть напишет в чем минусы такого метода, а не в тупую минусует (касается того кто ставил минус к моему предыдущему комменту)
В конфиг.пхп нужно добавить после $cityCSV=«city.csv»; это
в stat.php добавляем следующие строки
в папке stat создать соответствующие файлы:
browsers_settings.xml, timeonsite.xml,os_settings.xml, referrers_settings.xml, source.xml — по аналогии с существующими, т.е. если это график amline — файл создавать на основе visitors_settings.xml, если удельные веса — ampie, то на основе country_settings.xml и т.д.
Для отображение длительности пребывания на сайте нужно скачать график amxy.swf и положить в папку stat с остальными
У меня только трабла возникла с копирайтами:
1.Есть файл amcharts_key.txt с ключом. Если файл statistics.html, которыей инклюдю в другом пхп скрипте, вылазиют копирайты, хотя непосредственно в самом statistics.html не отображаются. Куда только этот файл не ложил — если инклюдишь — все-равно вылазиют.
2. Копирайты вылазиют также на графике «длительность пребывания на сайте». Победить тоже пока не могу.
Предлагаю для удобства выложить обновленный архив!
потом заново запускайте site.ru/stat/stat.php
chmod -R 777 stat/
А вообще посмотрите логи ошибок nginx или apache, ведь если ошибки авторизации в гугле или нет прав на запись в папке, все увидите.
Почему не работает — загадка ):
Попробуйте последнюю версию отсюда + habr
У себя сделал, работает.
заработало
Если путь верный, но не правильные данные аккаунта либо права — выдает ошибки а не пустую страницу
Можно ли еще как то принудительно выставить название города?
Пробовал рекурсивно поставить права 777 целиком на папку stats. Путь в $path везде прописывал, данные в config.php писал. php5-cURL установлен. Блин помогите замучался совсем.