Получение данных из API Google и заполнение дважды - PullRequest
1 голос
/ 04 сентября 2011

Мне нужна ваша помощь, потому что я застрял в том, как получить вторичные данные из Google API и показать их на графике, позвольте мне объяснить:

Я успешно получил данные о посещениях из API Google Analytics и показал их на своем графике с помощью этого кода:

                $report3 = $ga->getReport(
                array('dimensions'=>urlencode('ga:date'),
                    'metrics'=>urlencode('ga:pageviews,ga:visits'),
                    'filters'=>urlencode(''),
                    'sort'=>'ga:date'
                    )
                );

Которые дают мне массив вроде:

[20110726] => Array
    (
        [ga:pageviews] => 0
        [ga:visits] => 0
    )

Затем я помещаю эту информацию в таблицу с:

    <script type='text/javascript'>
    var ga_data = [
    <?php
        $str = "";
        foreach ($report3 as $value)
            $str.="{$value["ga:visits"]},";
        $str = rtrim($str,",");
    echo $str;
    ?>
    ];
</script>

И наконец:

      // Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'visits');
data.addRows(ga_data.length*1);
for (i=9; i<ga_data.length; i++){

    data.setValue(i, 0, 'DATE NEEDED');
    data.setValue(i, 1, ga_data[i]);
}

Единственная проблема в том, что мне нужно показать ДАТУ: ([20110726] => Array ( [ga:pageviews] => 0 [ga:visits] => 0 )) на графике, как я делаю с посещениями

Любая помощь будет очень очень ценится! Спасибо !!!

1 Ответ

0 голосов
/ 20 марта 2012

Похоже, что возвращаемые данные имеют дату в качестве индекса массива (a.k.a. "Измерение"). Просто обновите ваш цикл, чтобы получить вот так.

foreach(ga_data as $date=>$values){
    data.setValue(i, 0, $date);
    data.setValue(i, 1, $values['ga:visits']);
}

Возможно, вам придется разделить дату на части, если API DataVisualization не может обработать этот тип следующим образом:

$str = '20110726';
$year = substr($str,0,4);
$month = substr($str,4,2);
$day = substr($str,6,2);

Затем отформатируйте по своему вкусу с помощью функции PHP date ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...