Изменения

R:Google Analytics

20 571 байт добавлено, 08:27, 6 августа 2014
м
Общее описание
== Общее описание ==
Пакетов На данный момент, несмотря на все многообразие, в официальном репозитории CRAN нет пакетов для работы с API Google Analytics несколько. Однако на сторонних ресурсах, наиболее часто упоминающиеся тем не менее, можно обнаружить три рабочих решения: [https://code.google.com/p/r- google-analytics/ <code>RGoogleAnalytics</code>], [http://skardhamar.github.io/rga/ <code>rga</code>] и , [https://code.googlegithub.com/p/r-google-analyticsjdeboer/ ganalytics <code>RGoogleAnalyticsganalytics</code>]. В принципе, они различаются незначительно - в процедуре аутентификации и организации доступа к API[https://bitbucket.org/unikum/rga RGA]. Пакет <ref>Пакеты <code>rga</code> выглядит более удобным для работы, так как ключ для аутентификации создается один раз, и потом только загружается, в то время как при работе с пакетом <code>RGoogleAnalyticsganalytics</code> приходится в начале каждой сессии проходить аутентификацию в браузере. К тому же, пакет и <code>rgaRGA</code> обладает более прозрачной логикой запросов к APIв ближайшее время могут появиться и в CRAN, работы в этом направлении уже ведутся.</ref>
== Установка необходимых пакетов ==Сравнительная таблица пактов для работы с API Google Analytics:
Устанавливаем и подключаем пакет {{| class="wikitable sortable" width="800px"! width="40%" | Параметры сравнения! width="20%" | [https://code.google.com/p/r-packagegoogle-analytics/ RGoogleAnalytics]! width="20%" |devtools}}, для доступа к [https://github.com/skardhamar/rga rga]! width="20%" | [https:// github.com/jdeboer/ganalytics ganalytics], требуется только в первый раз, для установки пакетов {{! width="20%" | [https://bitbucket.org/unikum/rga RGA]|-! colspan=5 | Общая информация|-| Размещение| style="text-align:center" | [https://code.google.com/p/r-packagegoogle-analytics/ Google Code]|style="text-align:center" | [https://github.com/skardhamar/rga}}GitHub]| style="text-align:center" | [https://github. com/jdeboer/ganalytics GitHub]| style="text-align:center" | [https://bitbucket.org/unikum/rga Bitbucket]|-| Дата публикации| style="text-align:center" | 29.09.2010| style="text-align:center" | 27.11.2012| style="text-align:center" | 25.05.2013| style="text-align:center" | 3.06.2014|-| Дата последней стабильной версии| style="text-align:center" | 9.09.2013<ref>В дальнейшем он не требуетсяапреле 2014 были внесены значительные изменения в код проекта, но после их внесения стабильного выпуска пока нет.</ref>| style="text-align:center" | 1.06.2014<ref>Дата последней правки на данный момент, т.к. релизы данного пакета отсутствуют.</ref>| style="text-align:center" | 4.08.2014<ref>Дата последней правки на данный момент, т.к. релизы данного пакета отсутствуют.</ref>| style="text-align:center" | 5.08.2014<ref>Дата последней правки на данный момент, т.к. релизы данного пакета отсутствуют.</ref>|-| Лицензия| style="text-align:center" | Apache 2.0| style="text-align:center" | GPL2| style="text-align:center" | MIT| style="text-align:center" | GPL2|-| Зависимости| style="text-align:center" | <code>RCurl</code>, <code>rjson</code>, <code>lubridate</code>| style="text-align:center" | <code>RCurl</code>, <code>httr</code>, <code>jsonlite</code>, <code>lubridate</code>| style="text-align:center" | <code>httr</code>, <code>plyr</code>, <code>stringr</code>, <code>jsonlite</code>, <code>httpuv</code>| style="text-align:center" | <code>RCurl</code>, <code>httr</code>, <code>jsonlite</code>|-! colspan=5 | Авторизация|-| Авторизация по логину и паролю| style="text-align:center" | +| style="text-align:center" | -| style="text-align:center" | -| style="text-align:center" | -|-| Авторизация [https://developers.google.com/accounts/docs/OAuth2 OAuth2]<ref>Авторизация по Client ID и Client secret, полученным в [https://console.developers.google.com API Console].</ref>| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | +|-! colspan=5 | Доступ к API|-| Доступ к [https://developers.google.com/analytics/devguides/reporting/core/v3/ API базовых отчётов]| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | +|-| Доступ к [https://developers.google.com/analytics/devguides/reporting/mcf/v3/ API отчётов<br />многоканальных последовательностей]| style="text-align:center" | -| style="text-align:center" | +| style="text-align:center" | -| style="text-align:center" | +|-| Доступ к [https://developers.google.com/analytics/devguides/config/mgmt/v3/ API конфигурации]<ref>Информация по аккаунтам, профилям, представлениям, сегментам и целям.</ref>| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | -| style="text-align:center" | +|-| Пакетная обработка запросов<ref>Pagination - получение данных, превышающих ограничения Google (1000 на один запрос) путем организации нескольких запросов.</ref>| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | +| style="text-align:center" | +|}
{{r-code|code=<nowiki>> installПомимо технических различий пакеты различаются еще рядом параметров, в частности методологией организации кода, документированностью функций, общей дружелюбностью и простотой в использовании пакета.packages("devtools")> library(devtools)</nowiki>}}
Загрузка пакета доступа к GAТак, требуется только пакет <code>RGoogleAnalytics</code> основан на использовании простых функции и S3-методов, но по внутренней организации похож на RC (Reference classes). Пакет <code>rga</code> целиком основан на использовании RC. Пакет <code>ganalytics</code> основан на использовании S4 классов и методов, что обеспечивает более точный контроль над вводимыми аргументами <ref>Получить обобщённое представление об принципах и реализации ООП в начале работы при запуске новой R-сессииможно [http://adv-r.had.co.nz/OO-essentials.html#rc здесь]</ref>. При определенных различиях в реализации доступа к GA API, все пакеты, тем не менее, основываются на функционале пакета <code>httr</code>.
{{r-В плане подробности документации, бесспорно, выигрывает пакет <code|>ganalytics</code=>. Он обладает довольно подробным <nowikicode>README</code> файлом, расположенном на странице проекта [https://github.com/jdeboer/ganalytics ganalytics], и описывающим практически весь функционал пакета. Помимо этого, пакет также содержит полную документацию всех функций, которая поставляется вместе с пакетом. Пакет <code> install_github("rga"</code> обладает <code>README</code> файлом, описывающем лишь основы работы с пакетом и не включает в себя описание ряда возможностей пакета. Справка по функциям, доступная при установке пакета, содержит только краткое описание процедуры получения доступа к GA API и описание структуры запроса к API. Другие полезные функции, в частности, получение списка доступных профилей GA-аккаунта, "skardhamar")приходится искать вслепую. Документация пакета <code>RGoogleAnalytics</nowikicode>}}также имеет файл <code>README</code>, в котором пошагово описан процесс работы с пакетом, включающим весь функционал.
После обновления пакета {{r-package|httr}} до версии 0.3В плане простоты использования, функции которого используются в пакете свою очередь. лидирует пакет <code>rga</code>, появились ошибки с выводом данных запроса при использовании нескольких метрик. Поэтому на данный момент использование пакета В отличие от <code>ganalytics</code>, пакет <code>rga</code> возможно только с установкой предыдущей версии пакета {{r-package|httr}} позволяет указывать метрики, измерения, узкие сегменты и фильтры в виде аргументов сразу, в одной функции, что упрощает понимание структуры запроса и сегмента, и позволяет обрабатывать множество однотипных сегментов (0.2например, страниц сайта) вручную. Установить пакет {{rв цикле или <code>[a-package|httr}} необходимый версии можно с помощью функции z]pply</code>install_url()-функциях. Также <code>ganalytics</code> не имеет внутренних инструментов получения ID профилей, а их получение из пакет {{rweb-package|devtools}}интерфейса Google Analytics с последующей вставкой в запросы <code>ganalytics</code> трудоемко и, который мы уже загрузили ранее:самое главное, неинтуитивно. <code>RGoogleAnalytics</code>, несмотря на достаточно подробную документацию и достаточный для полноценной работы функционал, обладает несколько непрозрачной и неочевидной структурой запросов к GA API.
{{r-code|code=<nowiki>> install_url("http://cran.r-project.org/src/contrib/Archive/httr/httr_0.2.tar.gz")</nowiki>}}= Получение ключей для доступа к API Google Analytics ==
== Организация Прежде чем приступить к работе с пакетами, предназначенными для работы с Google Analytics API, необходимо создать новое приложение в [https://console.developers.google.com Google Developers Console] и получить '''Client ID''' (идентификатор клиента) и '''Client secret''' (секретный ключ клиента) для доступа к API ==Google Analytics. Не смотря на то, что некоторые пакеты, например <code>rga</code>, предоставляют ключи доступа, сгенерированные автором пакета, мы всё же рекомендуем получить собственные ключи, т.к. сторонние ключи могут быть в любой момент отозваны автором.
Подключение пакета Пошаговая инструкция приведена ниже: # Создание нового проекта (можно пропустить, если проект уже создан):#* Откройте страницу https://console.developers.google.com/project;#* В левой верхней части страницы нажмите на красную кнопку с надписью '''Create Project''';#* Во всплывающем окне в поле '''PROJECT NAME''' введите название проекта;#* Подтвердите создание проекта, нажав на кнопку '''Create'''.# Активация доступа к GAAPI Google Analytics:#* Выберите проект в списке проектов на странице https://console.developers.google.com/project;#* На боковой панели слева выберите пункт '''APIs & auth''';#* на вкладке '''APIs''' активируйте '''Analytics API''', нажав на кнопку с надписью `OFF` (убедитесь, что вместо надписи `OFF` появилось `ON`).# Создание нового приложения:#* В боковой панели слева выберите пункт '''APIs & auth''', подпункт '''Credentials''';#* В левой части страницы нажмите на кнопку с надписью '''Create new Client ID''';#* Во всплывающем окне выберите пункт '''Installed application''' в списке '''APPLICATION TYPE''' и пункт '''Other''' в списке '''INSTALLED APPLICATION TYPE'''.#* Подтвердите создание приложения, нажав на кнопку с надписью '''Create Client ID'''.# Получение Client ID и Client secret:#* Выберите проект в списке проектов на странице https://console.developers.google.com/project;#* В боковой панели слева выберите пункт '''APIs & auth''', подпункт '''Credentials''';#* В таблице с названием '''Client ID for native application''' скопируйте значения полей '''Client ID''' и '''Client secret'''. Теперь вы в любой момент можете вернуться на страницу '''Credentials''' и узнать '''Client ID''' и '''Client secret'''. == Пакет <code>rga</code> == === Установка пакета === Исходный код пакета <code>rga</code> располагается на [https://github.com github], поэтому установить его можно с помощью функции <code>install_github</code> из пакета {{r-package|devtools}}: {{r-code|code=<nowiki>> devtools::install_github("rga", "skardhamar")</nowiki>}} === Авторизация === Перед началом работы необходимо загрузить пакет <code>rga</code> (требуется только в начале работы при запуске новой R-сессии):
{{r-code|code=<nowiki>> library(rga)</nowiki>}}
Запрет верификации SSL-соединения (требуется только для ОС WindowsДля предоставления доступа к данным Google Analytics API из пакета <code>rga</code> неободимо пройти процедуру авторизации. Для этого используется функция <code>rga.open</code>, чтобы избежать ошибок при аутентификации)которая принимает следующие аргументы:
{{r-* <code|>instance</code=> - имя переменной, которая будет содержать информацию о доступе к APi Google Analytics;* <nowikicode>where</code> options(RCurlOptions = list(capath = system.file("CurlSSL"- путь и/или имя файла, "cacertкоторый будет использоваться для кэширования информации;* <code>client.pem", package = "RCurl"), sslid</code> - ID клиента;* <code>client.verifypeer = FALSE))secret</nowikicode>}}- секретный ключ.
Для создания ключа аутентификации получения токена доступа потребуется переход в браузер, подтверждение доступа и копирование ключа код доступа в консоль. Опционально команда создает отдельный файл, который потом можно использовать для аутентификации без перехода в браузер <ref>Аргумент <code>where</code> с указанием пути и тимени файла.д</ref>.
{{r-code|code=<nowiki>> rga.open(instance = "ga", where = "ga.rga")</nowiki>}}
Видим, что в директории проекта появился файл <code>ga.rga</code><ref>Можно указать любой удобный путь и имя файла.</ref>. Теперь при повторном использовании этой команды будет осуществляться проверка наличия файла <code>ga.rga</code> в рабочей директории и, если такой файл будет найден, то данные для аутентификации будут взяты из данного файла.
Второй вариант аутентификации с созданием собственного клиента API и использованием собственных ключей доступа:
# Необходимо создать проект на странице https://console{{r-code|code=<nowiki>> rga.developersopen(instance = "ga", client.googleid = "XXXXXX", client.com/project/;# Во вкладке APIs & auth выбрать Analytics APIsecret = "XXXXXXX", и там перейти во вкладку Credentials, где выбрать Create new Client ID;# При создании Client ID выбрать Installed application/other, и нажать create;# В результате будет Client ID where = и Client secret = ;# На вкладке Consent screen необходимо выбрать рабочий email и дать название приложению (Product name"ga.rga"), сохранить;# На общей вкладке APIs & auth</Analytics API/APIs надо активировать API, нажав на кнопку, где написано OFF.nowiki>}}
Создаем постоянный ключ (откроется После выполнения данной команды будет открыт интернет браузер, где надо будет выбрать свой почтовый аккаунт со страницей запроса подтверждения разрешения на доступ к данным Google Analytics. Необходимо авторизоваться под своей учётной записью Google и подтвердить вход в APIразрешение на доступ к данным Google Analytics. Отметим, тогда выдадут код, который надо будет вставить в консоль):что пакет `RGA` запрашивает доступ '''только для чтения''' данных.
{{r-После успешной аутентификации информацию о установленном подключении можно получить с помощью команды <code|>ga$status()</code=> или более подробную информацию <nowikicode>> rga.open(instance = "ga",+ client.id = "",+ client.secret = "",+ where = "api.rga"$show()</nowikicode>}}.
Пояснения по значениям аргументов:=== Получение данных ===
* Пакет <code>clientrga</code> позволяет получить доступ к различным API Google Analytics.idПоскольку объекты, формируемые пакетом <code>rga</code> необходимо вставить сюда Client ID;* , относятся к классу <code>client.secretrefClass</code> необходимо вставить сюда Client secret, что не является широко распространённой системой в данный момент, то ниже мы проведём небольшой обзор доступных функций и методов.
После успешной аутентификации Получить общую информацию о установленном подключении можно получит с помощью команды классе <code>a$status()rga</code> или более подробную информацию можно с помощью функции <code>ga$.selfgetRefClass()</code>.:
{{r-code|code=<nowiki>> getRefClass(Class = Получение данных из GA =="rga")Generator for class "rga":
Получение списка аккаунтов/сайтов в GA и их ID, которые используется для сбора данныхClass fields: Name: client.id client.secret where tokenClass: character character character list
{{r-code|code=<nowiki>> ga$ Class Methods: "callSuper", "copy", "explore", "export", "field", "getAccounts", "getClass", "getData", "getDataInBatches", "getDataInWalks", "getFirstDate", "getGoals", "getMCFData", "getMCFDataInBatches", "getMCFDataInWalks", "getProfiles()</nowiki>}}", "getRefClass", "getSegments", "getToken", "getWebProperties", "import", "initFields", "initialize", "isToken", "isTokenExpired", "isWhere", "prepare", "processManagementData", "refreshToken", "setToken", "show", "status", "tokenExpiresIn", "trace", "untrace", "usingMethods"
Пример сбора данных по выбранным метрикам и измерениям приведён ниже.
{{r-code|code=<nowiki>> ga.data <- ga$getData(ids = ID,+ start.date = ga$getFirstDate(ID), end.date = Sys.Date(),+ metrics = "ga Reference Superclasses:pageviews, ga:visits, ga:visitors", + dimensions = "ga:dateenvRefClass",+ batch = TRUE)</nowiki>}}
Пояснения по значениям аргументовПолучить информацию о всех методах, доступных для класса <code>rga</code> можно с помощью команды <code>rga$methods()</code>:
* <code>ids</code> {{r- номер профиля, из которого нужно выгрузить данные;* <code>start.date</|code> - задает стартовое время в формате, указанном с помощью аргумента =<codenowiki>date.format</code> (по умолчанию <code>format(Sys.timerga$methods(), [1] "%Y-%m-%dcallSuper" "copy" "explore" "export" "field" "getAccounts" [7] "getClass" "getData" "getDataInBatches" "getDataInWalks" ")</code>)<ref>Получить начальную дату сбора статистики в GA можно с помощью команды <code> ga$getFirstDate(ID)</code>.</ref>;" "getGoals" * <code>end.date</code> - задает конечное время в формате, указанном с помощью аргумента <code>date.format</code> (по умолчанию <code>format(Sys.time(), [13] "%Y-%m-%dgetMCFData" "getMCFDataInBatches" "getMCFDataInWalks" "getMGMTData")</code>)<ref>в данном случае используется функция <code>Sys.Date()</code>, которая выводит текущую дату.</ref>; "getProfiles" "getRefClass" * <code>metrics</code> - определяет показатели (столбцы), которые будут входить в таблицу с данными (по умолчанию <code>[19] "getSegments" "getToken" "getWebProperties"ga:visits "</code>)<ref>Внимание, нельзя использовать больше 7 метрик одновременно!</ref>;import" "initFields" "initialize" * <code>dimensions</code> - определяет параметры (строки) таблицы, которые будут входить в таблицу с данными;[25] "isToken" "isTokenExpired" "isWhere" "prepare" "refreshToken" "setToken" * <code>segment</code> - определяет сегмент данных (как правило, страницы/разделы сайта);[31] "show" "status" "tokenExpiresIn" "trace" "untrace" "usingMethods" * <code>sort</codenowiki> - определяет, по какому из столбцов будет производиться сортировка данных в таблице;* <code>filters</code> - определяет фильтры, которые накладываются на данные (в определенной мере аналог сегментов);* <code>batch = TRUE</code> собирает все данные, а не только первые 10000 строк (необходимо, если предполагается, что строк может быть много).}}
Наиболее полезными являются: * <code>getAccounts</code> - получение списка аккаунтов в, к которым пользователь имеет доступ;* <code>getData</code> - получение данных из GA API базового отчёта;* <code>getFirstDate</code> - получения даты начала сбора статистики для данного id;* <code>getGoals</code> - получение списка целей;* <code>getMCFData</code> - получение данных из GA API многоканальных последовательностей;* <code>getProfiles</code> - получение списка ресурсов и представлений сайтов, к которым пользователь имеет доступ<ref>Можно указать <code>accountId</code> (по умолчанию будет выведена информацию по всем аккаунтам).</ref>;* <code>getSegments</code> - получение списка сегментов;* <code>getToken</code> - получение токена дотупа;* <code>getWebProperties</code> - получение списка ресурсов, к которым пользователь имеет доступ<ref>Можно указать <code>accountId</code> (по умолчанию будет выведена информацию по всем аккаунтам).</ref>;* <code>refreshToken</code> - обновление токена доступа;* <code>show</code> - получение подробной информации о данных подключения к GA;* <code>status</code> - получение краткой информации о статусе подключения к GA; Получить справку по тому или иному методу можно с помощью команды <code>rga$help(topic)</code>, где вместо <code>topic</code> нужно подставить название интересующего метода: {{r-code|code=<nowiki>> rga$help("getWebProperties")Call:$getWebProperties(accountId = , start = , max = )</nowiki>}}Вызов метода осуществляется аналогично доступу к элементам списка посредством оператора <code>$</code>. После создания объекта с помощью функции <code>rga.open()</code> к методам можно обратиться с помощью конструкции <code>object$methodName()</code>, где <code>object</code> - имя, которое было указано в качестве аргумента <code>instance</code> при вызове функции <code>rga.open()</code>, а <code>methodName()</code> - один из вышеперечисленных методов. Узнать какие аргументы, а также их значения по умолчанию, можно передать тому или иному методу можно узнать с помощью функции <code>args</code>. Например: {{r-code|code=<nowiki>> args(ga$getData)function (ids, start.date = format(Sys.time(), "%Y-%m-%d"), end.date = format(Sys.time(), "%Y-%m-%d"), date.format = "%Y-%m-%d", metrics = "ga:users,ga:sessions,ga:pageviews", dimensions = "ga:date", sort = "", filters = "", segment = "", fields = "", start = 1, max, messages = TRUE, batch, walk = FALSE, output.raw, output.formats, return.url = FALSE, rbr = FALSE, envir = .GlobalEnv) NULL</nowiki>}} Пакет <code>rga</code> поддерживает работу как с [https://developers.google.com/analytics/devguides/reporting/core/v3/ API отчётов], так и с [https://developers.google.com/analytics/devguides/reporting/mcf/v3/ API многоканальных последовательностей]. Получения данных базовых отчётов: {{r-code|code=<nowiki>> ga$getData(id, start.date, end.date, metrics, dimensions)</nowiki>}} Получение данных по многоканальным последовательностям можно получить через функцию <code>ga$getMCFData()</code>. Аргументы методов <code>getData</code> и <code>getMCFData</code> совпадают<ref>Отличием является содержание показателей и измерений.</ref>. Пояснения по значениям аргументов для метода <code>getData</code>: * <code>ids</code> - ID профиля, из которого нужно выгрузить данные;* <code>start.date</code> - символьная строка, которая задаёт стартовое время в формате <code>YYYY-MM-DD</code><ref>Получить начальную дату сбора статистики в GA можно с помощью команды <code> ga$getFirstDate(id)</code>.</ref>. Допускаются также значения "today", "yesterday", "ndaysAgo", где <code>n</code> - это количество дней;* <code>end.date</code> - символьная строка, которая задаёт конечное время в формате <code>YYYY-MM-DD</code><ref>В данном случае используется функция <code>Sys.Date()</code>, которая выводит текущую дату.</ref>. Допускаются также значения "today", "yesterday", "ndaysAgo", где <code>n</code> - это количество дней;* <code>date.format</code> - символьная строка, которая задаёт формат даты, который используется для преобразования дат, полученных в результате запроса (по умолчанию <code>%Y-%m-%d</code>);* <code>metrics</code> - символьная строка, которая определяет показатели (столбцы), которые будут входить в таблицу с данными (по умолчанию <code>"ga:visits"</code>)<ref>Можно использовать не больше 10 метрик одновременно.</ref>;* <code>dimensions</code> - символьная строка, которая определяет параметры (строки) таблицы, которые будут входить в таблицу с данными (по умолчанию <code>"ga:date"</code>)<ref>Можно использовать не больше 7 измерений одновременно.</ref>;* <code>segment</code> - символьная строка, которая определяет сегмент данных (как правило, страницы/разделы сайта);* <code>sort</code> - символьная строка, которая определяет, по какому из столбцов будет производиться сортировка данных в таблице<ref>Поддерживается как прямая, так и обратная сортировка</ref>;* <code>filters</code> - символьная строка, которая определяет фильтры, применяемые при отборе данных на стороне сервера (в определенной мере аналог сегментов);* <code>batch = TRUE</code> - позволяет преодолеть ограничение на количество возвращаемых строк при ответе сервера (необходимо, если предполагается, что строк может быть больше, чем 10000).* <code>walk = TRUE</code> - позволяет получить исходные, а не агрегированные данные. Аргументы <code>ids</code>, <code>start.date</code>, <code>end.date</code> и <code>metrics</code> являются обязательными для запроса к GA Google Analytics API. Все аргументы метода <code>getData</code>, а также значения по умолчанию, можно посмотреть с помощью команды <code>args(ga$getData)</code>.
Детальную информацию можно найти на соответствующих страницах справочного руководства по GA API:
* по параметрам запроса к APIотчётов: https://developers.google.com/analytics/devguides/reporting/core/v3/reference#q_summary* по параметрам запроса к API многоканальных последовательностей: https://developers.google.com/analytics/devguides/reporting/mcf/v3/reference* по метрикам и измерениямбазовых отчётов: https://developers.google.com/analytics/devguides/reporting/core/dimsmets* по метрикам и измерениям многоканальных последовательностей: https://developers.google.com/analytics/devguides/reporting/mcf/dimsmets/* по сегментам: https://developers.google.com/analytics/devguides/reporting/core/v3/segments Получить доступ к API Google Analytics можно также с помощью веб-сервисов Google по следующей ссылке: https://developers.google.com/apis-explorer/?hl=ru#p/analytics/v3/. Для получения данных необходимо авторизоваться и задать требуемые параметры для запроса к API. Пример сбора данных по выбранным метрикам и измерениям приведён ниже. {{r-code|code=<nowiki>> ga.data <- ga$getData(ids = id,+ start.date = ga$getFirstDate(id), end.date = Sys.Date(),+ metrics = "ga:users,ga:sessions,ga:pageviews",+ dimensions = "ga:date", batch = TRUE)</nowiki>}}
После получения данных мы можем работать с переменной <code>ga.data</code> как с обычной таблицей данных (<code>data.frame</code>). Таблица данных, полученных полученныя на предыдущем этапе , выглядит следующим образом (значения взяты произвольнодля psylab.info):
{{r-code|code=<nowiki>> head(ga.data)
date pageviews visits visitorssessions users1 2014-03-19 9032 3651 3651 30382 2014-03-20 11914 5028 5028 40373 2014-03-21 10494 4388 4388 35054 2014-03-22 7173 3133 3133 24455 2014-03-23 8561 3676 3676 28536 2014-03-24 11919 5043 5043 3989</nowiki>}}
Структура таблицы имеют следующий вид:
{{r-code|code=<nowiki>> str(ga.data)
'data.frame': 29 34 obs. of 4 variables:
$ date : Date, format: "2014-03-19" "2014-03-20" "2014-03-21" "2014-03-22" ...
$ pageviews: num 9032 11914 10494 7173 8561 ...
$ visits sessions : num 3651 5028 4388 3133 3676 ... $ visitors users : num 3038 4037 3505 2445 2853 ...</nowiki>}}
== Примечания ==
* Google Analytics Query Explorer 2 - https://ga-dev-tools.appspot.com/explorer/?csw=1
* Google Analytics: Core Reporting API - Segments - https://developers.google.com/analytics/devguides/reporting/core/v3/segments
* Google Analytics Core Reporting API Changelog: https://developers.google.com/analytics/devguides/reporting/core/v3/changelog
 
== См. также ==
 
* [[R:Google Analytics/Параметры и измерения|Google Analytics - Параметры и измерения]]
* [[R:Google Analytics/Примеры|Примеры анализа данных Google Analytics в R]]
[[Категория:R]]
[[Категория:Веб-аналитика]]