Как стать автором
Обновить

Комментарии 142

Спасибо большое! Давно хотел заняться этим вопросом!
видел этот наборчик, но мне он показался излишне перегруженным. Хотелось чего-то вкрай простого
Fatal error: Call to undefined function curl_init() in C:\WebServer\Apache\htdocs\pluser\stat\ga.php on line 14?
widows server
Ай спасибки :-)
Очень вкусно :-)
Всё пашет теперь.
спасибо за обстоятельный топик :)
@DeadLy — site-stats — мне например показалось крайне не юзабельно.

Ну а автору болльшой такой респект =).
Да и кстати — teethgrinder.co.uk/open-flash-chart/
Это первая версия. Уже есть и вторая но ссылку я как то потерял в дебрях своего делишеса…
Спасибо, я использовал до этого немного потяжелее вариант, но вполне работоспособный (пример у меня на сайте). Там все немного посложнее, да и повозиться пришлось сильно, выложу вечером из дома для сравнения. Ваш пример действительно прост и понятен, единственное допишите, что в файле stat.php в URL для парсинга нужно id поставить свой (во всех отчетах в Google Analytics в адресной строке браузера он есть.)
ой, действительно! совсем об этом забыл, сейчас обновлю
Добавил версию, в которой можно указать id в config.php
Спасибо, пошел прикручивать.
$sPostData = «Email=». $sUsername. "&Passwd=". $sPassword. "&GA3T=5AS_gBsvDHI&nui=15&fpui=3"
. "&askapache=http://www.askapache.com/"
. "&service=analytics&ifr=true&rm=hide&itmpl=true&hl=en_US&alwf=true&"
. ";continue=https://www.google.com/analytics/reporting/?scid&null=Sign in";

Кто мне объяснит что там делает www.askapache.com/?
Честно говоря, тоже обратил на это внимание. Сейчас попробуем его просто убрать оттуда.
Убрал askapache из запроса.
Обновленная версия доступна для скачивания.

AlexSpaizNet, спасибо, что обратили на это внимание
У вас в коде жестко прописал Id проекта…
надо бы в конфиг вынести…
А так — огромное спасибо работает
Только покуда не понял как первый график строиться
id в конфиг вынес, спасибо
По первому графику распишу подробно чуть позже
В config.inc добавлена переменная $id

Исправьте ошибочку. Я нашел только config.php ;)
поправил, спасибо
Спрошу сейчас глупость, но у меня не получается заставить скрипт работать, а очень хочется )))
Данные не подхватываются. Что бы я не подставлял в config.php в значения $u, $p и $id, в результате на графике все-равно выводится сайт из примера… Даже когда эти значения пустые. Что я делаю не так, не могу понять.
Пробовал использовать и версию, где в stat.php id вписывается напрямую, в url. Тот же результат. Образумьте, плиз! :)
Видимо просто данные не обновляются, попробуйте удалить все эти csv-файлы и запустить скрипт — появятся ли новые? Вы скрипт как запускаете? попробуйте исправаить в самом верху stat.php
error_reporting(0) на error_reporting(15)
и запустить скрипт в адресной строке броузера и посомтрим какие он ошибки вывалит
Вы скрипт как запускаете?

Хмм… Создал папку /stats/, кинул туда все исходники. Дальше набираю адрес_сайта/stats/ и вуаля — график рисуется.
а что делать если страница запрашивает пароль для входа?
а Вы вообще в конфиге всё указали?
Банальный кэш браузера.

1. index.html переименовываем в index.php
2. рандомайзим все имена csv файлов so.addVariable(«data_file», escape(«visitors.csv?q=»));
попробуйте удалить все эти csv-файлы и запустить скрипт — появятся ли новые?

Нет, не появляются.
посомтрим какие он ошибки вывалит

Вывалил много нотисов и чуть-чуть варнингов ))) Спасибо, уже что-то. Поковыряюсь и о результатах сообщу.
Но, кстати, тем не менее, график формируется, но увы, все тот же, «примерный» ((
Прописал обратно свои данные в config.php. Теперь ошибки совсем другие:

Warning: fopen(visitors.csv) [function.fopen]: failed to open stream: Permission denied in /usr/local/www/vhosts/***.**/httpdocs/stats/stat.php on line 23
Warning: fputs(): supplied argument is not a valid stream resource in /usr/local/www/vhosts/***.**/httpdocs/stats/stat.php on line 28
Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/www/vhosts/***.**/httpdocs/stats/stat.php on line 29


И так для каждого *.csv-файла.
так, давайте сначала
Вы запускаете адрес_сайта/stats.stat.php
он вам вываливает кучу варнингов о том, что не может записать файлы.
Права есть у вас для записи в эту директорию?

Когда вы запрашиваете адрес_сайта/stats/ Вы фактически запрашиваете адрес_сайта/stats/index.html
Это статичный файл, который показывает графики. Сами же флэшевые графики, тоже статичны, для отображения берут эти csv-файлы с данными и по ним строят диаграммы.
Права поставил. Данные прописал и перепроверил. CSV-файлы стали создаваться. Нет ни нотисов, ни варнингов. Однако графики не обновляются. Кажется, я скоро сдамся (((
Насчет данных, чтобы быть точно уверенным:
$u=«username@gmail.com»;
$p=«mYpaSsWorD»;
$id=«8-ми значный номер»; // Я беру id из url — _http://google.com/analytics/reporting/?reset=1&id=********&scid=5561403
Все верно?
Вроде бы да. Идшники, кстати, ни на что не влияют почему-то, у меня для разных акков аналитикса данные строятся с одним и тем же ид в запросах…
Может быть кэш броузера? Попробуйте вычистить кэш, или запросить каждый из csv-файлов, т. е.
адрес_сайта/stats/visitors.csv и т. д. и ctrl+r их
Вы на локальной машине все это делаете или нет? Если не получится — стукните в личку, я думаю разберемся в чем проблема…
Правда у меня id — 8-мизначный
странно у меня id 7-и значный, но всёравно ничего неработает :(
тьфу, меня запутали, 7-значный конечно.
А у Вас как не работает? Права на запись файлов в соответствующей директории есть? В настройках GA выбран русский язык?
что я сделал:
1. создал папку /stat/
2. туда всё закачал дал права папке самой 777 и всем файлам внутри.
3. открыл config.php — сделал:

$u=«aleksandr@****.lv»;
$p="*****";
$id=«9362388»;

4. закачал файл. ввёл: /stat/stat.php — и по логике он должен был парсить?
В этоге — ничего. Все файлы удалил старых показателей. Мои не появляются. Ещё вопрос: в GA.php надо было что-то менять?

всё заработало. очень странно. после коммента нажал F5 раз… половина подгрузилась. нажал ещё раз. вторая подгрузилась. очень странно. :))

Кстате у меня есть ключ на AmChart где его вводить?
нет, в ga.php изменений быть не должно никаких (я ж надеюсь у Вас имя файла в нижнем регистре?)
В stat.php в самом вреху измените error_reporting(0) на error_reporting(15)
Оно вывалит ошибки — давайте посмотрим.
Только укажите какой версией скрипта вы пользуетесь.
я сдела reporting(5)

кстате интересно как сделать чтобы во втором графике он выводил не Абсолютно уникальные посетители, а просто Посещения?
добавить/изменить соответствующий отчет. Сегодня-завтра его также добавлю. Как лучше, добавить к этим двум? или отдельным графиком?
отдельным лучше :)
и всё таки, где вписать ключ?
в логе сервера есть строка 'File does not exist: /home/www/site1/public_html/stats/ampie/amcharts_key.txt '
подозреваю, что там и должен быть ключ
вы гениальны! благодарю! осталось интегрировать в сайт. результаты покажу :)
Спасибо, вроде все работает. Действительно, браузер накрепко кэшировал данные графиков, просто нажать F5 не помогало — пришлось лезть в настройки и удалять полностью кэш. Все это верно для Оперы, не знаю как в остальных браузерах.

Результат можно посмотреть здесь. Скромно, но приятно :)
Автору еще раз спасибо!
Вот и хорошо
Полистал мануал по amChart, воде бы там есть описание проблемы с кэшем. На днях попробую избавиться от этого недостатка. Мониторьте новые версии. Отпишусь в топике об обновлении.
права на файлы 0777 поставь

p.s

Вот заценяйте :)

ashdoda.net/modules.php?name=Info&file=analytics

Единственное что — все файлы данных и настроек в корень пришлось кинуть… что то я не поспал сегодня… не получается с папки все это запустить =)
В Израиле рулит Опера?
Сам в шоке. Обычно здесь все и везде от билл гейтса…
Fatal error: Call to undefined function: stripos() in /var/www/***/***/stats/stat.php on line 17
Попробуйте заменить stripos на strpos
Какая версия PHP?
версия PHP/4.4.8

пробовал поменять, получилось вот что:

Notice: Undefined offset: 1 in /var/www/***/***/stats/stat.php on line 36

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 37

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 37

Warning: fopen(visitors.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/***/***/stats/stat.php on line 23

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 29

Warning: Cannot modify header information — headers already sent by (output started at /var/www/***/***/stats/stat.php:36) in /var/www/***/***/stats/ga.php on line 5

Notice: Undefined offset: 1 in /var/www/***/***/stats/stat.php on line 36

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 37

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 37

Warning: fopen(visitors_3.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/***/***/stats/stat.php on line 23

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 29

Warning: Cannot modify header information — headers already sent by (output started at /var/www/***/***/stats/stat.php:36) in /var/www/***/***/stats/ga.php on line 5

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 54

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 54

Warning: fopen(country.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/***/***/stats/stat.php on line 23

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 29

Warning: Cannot modify header information — headers already sent by (output started at /var/www/***/***/stats/stat.php:36) in /var/www/***/***/stats/ga.php on line 5

Warning: fopen(referrers.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/***/***/stats/stat.php on line 73

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 77

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 78

Warning: Cannot modify header information — headers already sent by (output started at /var/www/***/***/stats/stat.php:36) in /var/www/***/***/stats/ga.php on line 5

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 54

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 54

Warning: fopen(browsers.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/***/***/stats/stat.php on line 23

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 29

Warning: Cannot modify header information — headers already sent by (output started at /var/www/***/***/stats/stat.php:36) in /var/www/***/***/stats/ga.php on line 5

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 54

Notice: Undefined offset: 2 in /var/www/***/***/stats/stat.php on line 54

Warning: fopen(os.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/***/***/stats/stat.php on line 23

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/***/***/stats/stat.php on line 29
ого, кстати, а у вас в аналитиксе какой язык выбран? русский? судя по всему не парсится нормально полученный от аналитикса отчет
стоит русский
Пошу прощение. Все-таки был английский — ошибка исправлена.
Думаю, что все это безобразие ошибок выскакивало именно из-за не русского по-умолчанию.
ОК, как я уже говорил, поддержку английского также добавлю сегодня-завтра. Ну в конечном итоге получилось?
да, получилось :)
спасибо вам!
хочу использовать на своем ресурсе как дополнительную информацию для рекламодателей.
какую версию скрипта юзаете? попробуем диагностировать проблему.
кстати, прав для записи файлов в соответствующей директории у вас также нет, попробуйте дать 777 права директории в том числе (на там до этого дело все еще не доходит)
проставил 777
повторюсь, проблема была решена указанием русского по-умолчанию.
НЛО прилетело и опубликовало эту надпись здесь
Кстати — тут это не сказано но…
Чтобы скрипт работал надо НЕЗАБЫТЬ поставить в настройках аналитикса что язык Ваш — русский.

Специально завел новый гугл акк для выставления на сайты — а он и не работает…
Оказалось что по дефолту аналитикс по нерусски болтает
хммм, интересно, посмотрю
понял почему это происходит, до завтра сделаю, чтобы и для англ и для русского языков работало. Спасибо
на php4.4.4 пришлось добавить в начало stats.php следующее:

function stripos($haystack, $needle){
return strpos($haystack, stristr( $haystack, $needle ));
}

а так stripos() он не знает и выдает fatal error
Для тех, кто не хочет использовать чужие решения, но кому все же лень разбираться в гугловой аутентификации.

$request = new Curl();
$loginAction = "https://www.google.com/accounts/ServiceLoginBoxAuth";
$request->setMethod(HTTP_REQUEST_METHOD_POST);
$request->setURL($loginAction);
$request->addPostData('continue', 'http://www.google.com/analytics/home/?et=reset&hl=en-US');
$request->addPostData('service', 'analytics');
$request->addPostData('nui', '1');
$request->addPostData('hl', 'en-US');
$request->addPostData('GA3T', 'ouVrvynQwUs');
$request->addPostData('Email', $email);
$request->addPostData('Passwd', $pass);
$request->sendRequest();
$headers = $request->getResponseHeader();
$cookies = $request->getResponseCookies();
$response = $request->getResponseBody();
foreach($cookies as $c)
$request->addCookie($c['name'], $c['value']);
// Views
$request->setMethod(HTTP_REQUEST_METHOD_GET);
$request->setURL('https://www.google.com/analytics/reporting/export?fmt=1&id='.$id.'&pdr=20080710-'.date('Ymd',time()-60*60*49).'&cmp=average&&rpt=PageviewsReport');
$request->sendRequest();
$cache['views'] = $request->getResponseBody();
//Visitors
$request->setMethod(HTTP_REQUEST_METHOD_GET);
$request->setURL('https://www.google.com/analytics/reporting/export?fmt=1&id='.$id.'&pdr=20080710-'.date('Ymd',time()-60*60*49).'&cmp=average&&rpt=VisitorsOverviewReport');
$request->sendRequest();
$cache['visitors'] = $request->getResponseBody();
Ура… Дождался 3-й апдейт, спасибо!
Подскажите, как вставить график, который покажет города определенной страны (как на хабре)? Если кто-то остался в теме
Присоединяюсь к вопросу. Планируется ли, в дальнейшем, такая возможность?
У всех перестал работать? Если да, выложу обновление
блин, а я подумал, что только у меня не работает, причем только графики, груглые диаграммы подтягивает нормально
Кстати, чтобы убрать копирайты amcharts.com на флешке, вставьте в папку path( в жс написаны папки) файл amcharts_key.txt и содержимое файла AMCHART-LNKS-4242-4403-4345-1258

и все :)
у меня в самой флешке убрались на когда гружу на странице то они высвечиваються все равно, что не так?
уже решил это ) спасиб
Всё немного интереснее) Файлы, которые можно скачать на amcharts.com в разделе загрузок просто не имеют функции проверки ключа в коде, поэтому хоть обкидайте их ключами — копирайт останется (единственная проверка в них — наличие вхождения amcharts.com в url страницы). Так что для того чтобы использовать amcharts без копирайтов и при этом не мучится с декомпиляцией и повторным компилированием флешки, нам нужно найти сайт с полной версией amcharts, тобеж с той, которая честно проверяет ключик. Первое что пришло мне на ум — яндекс метрика. Скачал и раскомпилировал флешку чартов оттуда и тут же наткнулся на простейший алгоритм проверки:

function checkKey(serial)
{
serial = com.amcharts.Utils.stripSymbols(serial, " ");
serial = com.amcharts.Utils.stripSymbols(serial, "\n");
serial = com.amcharts.Utils.stripSymbols(serial, "\r");
serial = com.amcharts.Utils.stripSymbols(serial, "\r\n");
arr = serial.split("-");
if (_url.split("/")[2].substr(-12) == "amcharts.com")
{
}
else if (Number(arr[2]) + Number(arr[3]) != 8645 || Number(arr[2].substr(1, 1)) - Number(arr[3].substr(2, 1)) != 2)
{
attachMovie("copyright_mc", "copyright_mc", 1001);
} // end else if
}


Как видите тут выбор из двух условий. Либо сумма первых двух чисел в серийнике дает 8645, либо при вычитании из первой цифры первого числа второй цифры второго числа должно получится 2.

Соответственно серийники ниже подойдут к флешкам яндекс метрики:
Виноват, нажал ctrl+enter случайно(

Серийники:

0-0-3-11
0-0-8653-1
Если кому нужно, могу дать нуленые
Дай. :)
брал тут rapidshare.com/files/100249186/CHARTS.rar
Не мое: «Что за нуль и какого плана была защита понятия не имею. нашлось в кэше гугла тут portaliz.com»
нуленые старые
Необходимо обновление. Данные показывает, но пропали числа на графиках: динамика роста, показатели посещаемости.

завтра гляну что там изменилось
И еще одна странность — значения в диаграмме «Источники траффика» стали на английском, хотя в настройках аналитикса все на русском.
Сегодня гугла начала отдавать csv на английском и только на английском.
:(
И никак не переубеждается
у меня на некоторых проектах ваще не отдается инфа, на некоторых англ, на некоторых русская… короче. подождем…
Вышла версия 2.0b
Все подробности в топике под UPDATE 4
Для тех, кто хочет русские даты и для тех, кто дружит с setlocale() и strftime()
в parse() вставить после блока //убираем символ разделителя тысячи
// форматируем дату
if ( $period == "month") {
$range = explode( "-", $line[0] );
$range[0] = strftime( "%d %B %Y", strtotime( $range[0] ) );
$range[1] = strftime( "%d %B %Y", strtotime( $range[1] ) );
$line[0] = sprintf( "%s - %s", $range[0], $range[1] );
} else {
$line[0] = strftime( "%d %B %Y", strtotime( $line[0] ) );
}
// для тех, у кого локаль в cp1251...
//$line[0] = iconv( 'CP1251', 'UTF-8', $line[0] );
Кстати, с русским я все-таки разобрался, скоро будет обновление

А вот за strftime и strtotime спасибо, как-то я о них не подумал

Тем не менее, мне все равно не понятно, чем руководствуется гугл при выборе формата даты…
в некоторых случаях я вижу что-то вроде 01.01.2008 — 31.01.2008, в других — Jan 01, 2008 — Jan 31, 2008
Итак, версия 2.0.1 с поддержкой русского доступна для скачивания
блин, хоть убейте у меня ничего не работает :(
файлы *.csv не создаются, если в папке лежат старые файлы, то чужие данные отображаются. :/
ошибки отдаются какие-либо?
ничего
Для error_reporting в самом начале stat.php какое значение выставлено?
Попробуйте в конфиге включить debug=true и посмотреть создается ли log.txt
В конфиге путь к директории правильно прописан?
При выполнении не создается ли в директории файлик error_log?
error_reporting(15);
log.txt не создается
Путь вроде бы прописал верно.
Файл error_log не создается

Пробовал и в денвере, и у хостера, результат — одинаковый.
Если в папке лежат чужие данные, *.csv, то они прекрасно отображаются. Если же эти файлы удалить, то ничего не работает. :/
эммм, такой тупой вопрос, а Вы вообще stat.php запускаете? Или что Вы делаете для того, чтобы csv-файлы появились?
запускаю index.php
ну понятно…
для того, чтобы сгенерить csv-файлы, необходимо запустить stat.php
А index.php — это просто страничка с самими графиками
сенькс.
Еще вопрос, а нельзя посмотреть статистику по посещению отдельной конкретной страницы на сайте, в аналитиксе это сделать можно. Можно ли каким-либо оборазом изменить настройки, чтоб смотртеь статистику посещения этой страницы, не создавая отдельного профиля на аналитексе.
ну если аналитикс может вам выдать подобный отчет, то теоритически его можно получить и пропарсить. Правда, вряд ли скрипт в таком виде и без соответствующей модификации, сможет это сделать…

Если Вы знакомы пхп — для вас это не должно составить труда. Это скрипт — лишь пример того, каким образом можно получить данные из ГА и нарисовать графики.
не знаю, где в моем случае собака зарыта…
буду благодарен за любые советы, 3-й день пытаюсь заставить работать…

Установил версию statga 2.0.1
Хостин PHP 5.2.5
Конфиг настроил как требуется (логин, пароль, временная зона, $datestart, $path)
на папку stat и все файлы в ней установил права 777
$debug=true;
в stat.php — error_reporting(15);
при вызове site.ru/stat/stat.php долго думает, а затем отображает страницу с незагруженными диаграммами «Error loading file: vitors.csv?1225898029&1225908777515»
Ошибок php никаких не выводит. CSV как следствие не генерятся
Судя по тому, что файл log.txt создается и заполняется «звездочками» сделал вывод, что полный путь к директории со скриптом в конфиге указал все-таки верно
Сам файл log.txt содержит:

********************

********************

и т.д…

еще разок, что происходит после запуска stat.php? после того как заканчивает долго думать? Дело в том, что сами диаграммки выводятся через index.php, как вы можете получить это открыв stat.php — не представляю…

PS. сегодня, кстати, гугл в очередной раз сменил формат отчетов… ну ивообще изменился GA, поэтому смею предположить, что возможны проблемы с работой данного скрипта
нет, я, наверное, все-таки ошибся — просто долго думает и… ничего…
log.txt исправно пополняется звездочками…
Ну если после выполнения чистая страница — значит скрипт отработал без ошибок. Все, что я могу предположить — это неудачная аутентификация, проверьте еще раз тщательно правильно ли указаны данные для доступа к GA (в качестве логина e-mail прописан?)
создал второго пользователя, дал доступ на просмотр отчетов, указал его данные в конфиге, — та же самая беда…
у хостера есть такая сноска

«У нас используется технология безопасности, в соответствии с которой по умолчанию мы закрываем все исходящие соединения с сервера. Это позволяет в сотни раз повысить безопасность ресурса, т.к. хакер даже при обнаружении дыры в вашем скрипте не всегда имеет возможность воспользоваться ею в своих целях.
Если вам необходим доступ к какому-то серверу в интернете со своего ресурса — свяжитесь с нашей поддержкой — мы откроем вам доступ. ...»

думаю вот, может для корректной работы скрипта нужно разрешить ему ходить на
amcharts.com
и
www.google.com/analytics ??

На последний вроде открыли, но воз и ныне там…
ну с этого и надо было начинать…
amcharts.com — не нужен доступ… нужен на www.google.com как минимум, причем через стандартные порты https. Уточните, работает ли cURL в PHP без каких-либо ограничений?
хостеры ответили
«они [создатели скрипта] могут дать все ip-адреса которые соответствуют google.com?
либо мы можем жестко прописать на какой-то ip адреса это имя?»

ping google.com выдает 209.85.171.99

как быть...?
а у меня ping google.com выдает 72.14.207.99, а gmodules.com — 72.14.247.99 и т.д.
Короче, я к чему — я Вам, конечно же, не смогу предоставить ипы, которые надо разблочить. По идее должен быть разблочен только google.com, но судя по тому, что ваши и мои ипы на google.com разные — точно так же может оказаться что 209.85.171.99 совсем не тот адрес, куда ломится скрипт, когда запускается на сервере. Пусть они со стороны сервера проверяют, куда ссылается google.com и открывают доступ к этому IP. (но это все до того, как гуглу в очередной раз стукнет изменить что-то на своих серверах и ип вдруг станет другой...)
хостер меня уже тихо ненавидит.
самое что интересное — скрипт не отдает никаких видимых ошибок. В логе пишутся звездочки… и все…
Кстати, пробовал как ниже в комментарии

«Попробуйте для $url1 и $url1_1 в stat.php подставить значения, которые вы указываете в конфиге, и полученный урл просто открыть в браузере. Отдаст оно вам отчет или опять выкинет ошибку?»

Т.е. я авторизовался, подставил значения, открыл через браузер — предлагает сохранять файлы .tsv с нужными данными. Т.е. все работает, значит в любом случае — хостинг
судя по всему, да
У меня все работает(графики строятся), только выносится ошибка

Notice: Undefined offset: 2 in /home/freela/public_html/statga_orig/stat.php on line 91

Notice: Undefined offset: 2 in /home/freela/public_html/statga_orig/stat.php on line 91

Warning: Cannot modify header information — headers already sent by (output started at /home/freela/public_html/statga_orig/stat.php:91) in /home/freela/public_html/statga_orig/ga.php on line 5

Warning: Cannot modify header information — headers already sent by (output started at /home/freela/public_html/statga_orig/stat.php:91) in /home/freela/public_html/statga_orig/ga.php on line 5
значит не все строится как должно… смотрите при обработке какого именно отчета выкидываются эти ошибки, включайте debug=true и смотрите, какие данные мы получаем из ga и что пытаемся парсить.
прошу помощи. поставил ваш скрипт, но вываливается ошибка:
<code>

Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(/home/localhost/stat/log.txt) is not within the allowed path(s): (/home/lilumi:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/lilumi/public_html/site22/stat/stat.php on line 100
</code>

и далее, много ошибок других, но думаю связанные с этой. Как можно это обойти?
упс. сорри за горизонтальный скролл. А хабра не позволяет редактировать коментарии
$path в config.php неправильно установлена. Точнее, Вы просто и не меняли это значение
точно. извиняюсь — сам недосмотрел.
а сейчас вылезла вот такая ошибка:
Notice: Undefined offset: 1 in /home/lilumi/public_html/site22/stat/stat.php on line 37
Notice: Undefined offset: 2 in /home/lilumi/public_html/site22/stat/stat.php on line 39

в аналитиксе стоит русский язык, еще раз перепроверял.
дайте ссылку на log.txt, который у вас генерится при включенном $debug=true
(в последней версии уже не принципиально какой язык выставлен, я писал выше)
Не пробовали смотреть, что в этом файле?

первые два отчета:

Google Analytics
Обнаружена ошибка
Повторите попытку.
Благодарим Вас за терпение.

вместо отчета гугл отдает страницу с вышеописанной ошибкой. Ждите, попробуйте через часок-другой… все остальные отчеты вроде бы генерятся нормально. CSV-файлы появились в директории? Графки хоть какие-нибудь строятся?
пробовал, смотрел. но из выражение «обнаружена ошибка» нельзя никак понять как ее устранить, поэтому и обратился к вам, в надежде что ошибка возникает из за какой-то ошибки в скрипте.

графики строятся, кроме visits и visitors — как раз самые интересные.
Подождать то подожду, но может посмотрите у себя, может ошибка на стороне скрипта?
Попробуйте для $url1 и $url1_1 в stat.php подставить значения, которые вы указываете в конфиге, и полученный урл просто открыть в браузере. Отдаст оно вам отчет или опять выкинет ошибку?

Можно попробовать также другой гугловый акк.

Вообще, у ГА бывают подобные приколы, я сам с этим сталкивался… Было дело, на одном из ресурсов два дня периодически отдавалась подобная ошибка, я уж думал что-то изменилось в самих отчетах, но времени заняться не было. Потом попустило, пошел наконец-то посмотрел логи, а там аналогичная ситуация.

Еще можно попробовать ради интереса поставить период поменьше, т.е. для переменной $datestart поставиь значение что-то вроде 20081001 (т.е. начиная с октября этого года). Попробуйте так, посмотрим, что получится.
очень забавная штучка ;)
+1
Есть такой нюанс, если сходу ошибиться с паролем, то система обратиться к гуглу с неправильным паролем столько раз, сколько отчетов экспортируется. В дефалтном варианте это 8 раз. После этого гугл естественно будет ребовать от вас ввода каптчи, чтобы убедиться, что вы не подбираете пароли. А возвращать в этом случае он будет временный редирект (Temporary redirect). Его вы в логе и увидите, при этот stat.php будет вывалить нутисы про Undefined index'ы. В этом случае, надо подождать минут 20, а потом повторно запросить статистику, и все будет хорошо :)
Если хотите, чтобы графики по посещениям—просмотрам и посетителям—просмотрам были объеденены, то подробности смотрите в моем блоге.

Выглядеть это будет так:
А как это сделать на ASP.NET?
Товарисчи а как данные отображать на инглише?
в настройка GA выставлен английский?
да, у меня вообще все на инглише… в конфигах тож прописал en вместо ru
ну попробуйте скопипастить урлы отчетов именно из вашего английского интерфейса в скрипт, может быть там какие-то параметры передаются… в общем, надо разбираться…
с инглишом разобрался, поменял вручную в xml файлах. теперь вопрос, как генерировать custom sections? я скопировал ссылки экспорта которые мне нужны. Мне их надо прописывать в stat? у вас есть icq или gtalk? было бы легче общаться)
если статистика собирается по разным отчетам за раз — зачем нужно перед каждым отчетом коннектиться?

логична ф-ю GA разбить на 2:

GA_connect($user, $password){

return $cookies;
}
и вторую
GA_getinfo($cookies, $url){
… создаем файлы с данными
}

а потом уже в stat.php
один раз коннектимся вначале — получая кукисы
$cookies = GA_connect($u, $p);

а потом для каждого отчета:

$var = GA_getinfo($cookies, $url);

сделал — вроде пошустрей стало.
Использовал сей продукт со дня опубликования. Все было здорово. Но… дня 4 назад он перестал работать.

Функция GA() стала отдавать документ содержащий «Moved Temporarily. The document has moved here.»
Очевидно поломалась авторизация, т.к. по хрефу из «here» гугл показывает страницу с формой логина в analytics.

Посему есть 2 вопроса:
1- к общественности: есть у кого либо похожие траблы?
2- к автору продукта: если виноват таки гугл, нет ли желания и возможности внести соответствующие изменения?
1- Вы правы, поломалась авторизация
2- Желание есть. В течение ближайшей недели займусь. Если у кого-то получится раньше — сообщайте
Та же ситуация сложилась уже 4го октября (не получилось отписать ранее). Посидел, покапал, не получилось.
Будем копать глубже и рассчитывать на помощь автора.
завтра постараюсь выложить новую версию. обломался разбираться чего там поломалось в гугловой авторизации, решил пойти более элегантным путем. подробности позднее
Старая версия тоже работает, если:
1. заменить $sPostData

$sPostData = «et=reset&».
«service=analytics&».
«nui=1&».
«hl=ru-RU&».
«GALX=X1s9INbpiU0&».
«Email=».$sUsername."&".
«Passwd=».$sPassword."&".
«PersistentCookie=yes&».
«rmShown=1»;

2. в последующем блоке curl_setopt добавить
curl_setopt ($rCurl, CURLOPT_COOKIE, «GALX=X1s9INbpiU0»);

Решение для тех, кто не хочет ставить новую версию =)
Сейчас обновлю 2.x ветку :) Спасибо
Спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории