2010-03-12 5 views
1

Я использую класс API Google Analytics на PHP, сделанный Дугом Тан, для извлечения данных Google Analytics из определенного профиля.Ускорение аутентификации API Google Analytics

Проверить ссылку: http://code.google.com/intl/nl/apis/analytics/docs/gdata/gdataArticlesCode.html

При создании нового экземпляра класса можно добавить идентификатор профиля, ваш аккаунт Google + пароль, а DateRange и независимо размеры и метрики вы хотите, чтобы забрать из аналитики ,

Например я хочу видеть, как много людей посетили мой сайт из разных стран в 2009 году

//make a new instance from the class 
$ga = new GoogleAnalytics($email,$password); 

//website profile example id 
$ga->setProfile('ga:4329539'); 

//date range 
$ga->setDateRange('2010-02-01','2010-03-08'); 

//array to receive data from metrics and dimensions 
$array = $ga->getReport(
     array('dimensions'=>('ga:country'), 
     'metrics'=>('ga:visits'), 
     'sort'=>'-ga:visits' 
     ) 
); 

Теперь вы знаете, как работает этот класс API, я хотел бы адресовать мою проблему.

скорость. Для получения нескольких типов данных из базы данных аналитики требуется много времени, особенно если вы создаете разные массивы с разными метриками/измерениями. Как я могу ускорить этот процесс?

Можно ли хранить все возможные данные в кеше, чтобы я мог извлекать данные, не загружая их снова и снова?

+0

Привет @PaulH, могу ли я узнать у вас, имеете ли вы отношение к тому, что получение данных из Google 1) происходит медленно или 2) замедляет работу вашего сайта? Для меня важнее 2) и похоже, что Google уже кэширует результаты, поэтому единственный вопрос заключается в том, как управлять этим процессом кеширования. – ericn

ответ

2

Вы можете загружать данные в кеш уверенно, точно, как/где кешируются данные, полностью зависит от вас. Вы можете использовать что-либо из кэширования для каждого запроса (которое будет довольно бесполезно для этой конкретной проблемы) таким вещам, как APC, memcached, локальная база данных или даже просто сохранение исходных результатов в файлах. Это не приведет к тому, что фактическое извлечение данных из Google произойдет быстрее.

В этой заметке, скорее всего, (не увидев код), что запросы к Google, вероятно, выполняются последовательно. Скорее всего, возможно расширить класс PHP, чтобы разрешить одновременный запрос нескольких наборов данных из Google (например, с помощью cURL Multi).

+0

Спасибо, используя cURL, действительно хорошая идея! Я проверю это. – Paul

Смежные вопросы