Учетная запись Google: для доступа к Google Analytics пользователю потребуется учетная запись Google, которая позволяет пользователям входить в несколько продуктов Google, таких как Gmail, Blogger, Analytics, Adsense и т. Д. [[email protected]].
Учетная запись Google Analytics: если пользователь хочет получить доступ к функциям веб-аналитики, ему необходимо зарегистрироваться в этой службе. Это уникальный идентификатор, представляющий аккаунт Google Analytics. Пользователь по-прежнему может использовать адрес электронной почты своего аккаунта Google для аутентификации и входа в сервисы аккаунта Google Analytics. [например, 65421]
Образец аккаунта Google Analytics |
Веб-свойства: веб-собственность может называться одним веб-сайтом, который можно отслеживать независимо. Если учетная запись называется AbcCompany, то веб-ресурс может быть abc.com, который ссылается на личный веб-сайт пользователя, другой веб-ресурс может быть abcbiz.com, который относится к бизнес-сайту пользователя, а другой может быть abc.mobi, который специально предназначен для его мобильные клиенты. Веб-ресурсы под учетной записью будут иметь тот же номер учетной записи, но с другим суффиксом. Например, если идентификатор учетной записи для AbcCompany равен 65421, поэтому веб-ресурсом для abc.com может быть UA-65421-1, для abcbiz.com — UA-65421-2.
Пример свойства Google Analytics |
Создайте новое свойство, используя вкладку «Свойство»:
Создать новую недвижимость |
Профиль Google Analytics. У каждой учетной записи веб-ресурса будет хотя бы один профиль аналитики. Профиль имеет доступ ко всем аналитическим данным и отчетам. Каждый профиль будет иметь уникальный идентификатор профиля. Профили могут иметь несколько целей, пользователей, фильтров и активов.
профили |
На вкладке «Настройки профиля» приведены сведения об идентификаторе профиля и URL-адресе веб-сайта. Профиль может иметь одного или нескольких пользователей.
Изменить настройки профиля |
Детали отношений выделены на диаграмме ниже.
GA Профиль пользователя Аккаунт отношения |
Что такое OAuth 2.0?
OAuth — это открытый стандарт для авторизации. Это позволяет пользователям совместно использовать свои ресурсы из одного местоположения в другое местоположение без необходимости обмениваться учетными данными. OAuth 2.0 основан на протоколе OAuth, однако он помогает с новыми функциями аутентификации для веб-приложений, настольных приложений, мобильных приложений и т. Д. Они используют токены вместо фактического имени пользователя и пароля для общения друг с другом и обеспечивают авторизацию.
Как Google API связан с OAuth2.0?
Google API предоставляет доступ к своему приложению, используя стандарт OAuth 2.0. Google использует этот протокол в качестве своей аутентификации и авторизации, особенно когда сторонние клиенты хотят иметь безопасный доступ к данным приложения Google. Авторизация Google работает в несколько этапов высокого уровня:
а) Зарегистрировать приложение в Google
б) Перенаправить браузер на URL
в) Парсировать токен из ответа
г) Отправьте токен на сервер авторизации Google.
д) Получить данные Google Analytics с помощью токена доступа к запросу.
На следующей диаграмме описаны шаги, которые необходимо выполнить для аутентификации и авторизации на сервере Google (в данном случае на сервере Google Analytics).
Архитектура Google Analytics |
Ну что ж, все введение закончено. Мы вернемся к действию. До настоящего времени мы узнали о различных функциях данных Google Analytics, а также о механизме авторизации и аутентификации. Теперь мы углубимся в детали реализации. Упс … Остался еще один предмет. Все дело в том, к каким данным мы будем обращаться из Google Analytics и как они связаны.
Измерение против метрики
Измерение против метрики |
Проще говоря, измерение в аналитике Google представляет строки в отчете, а метрики — столбцы. Например, измерение относится к стране, браузерам, источникам трафика, а метрики — посещения, новых посетителей, транзакций и т. Д.
Итак, что мы пытаемся сделать со всеми этими деталями?
Постановка проблемы: мы пытаемся создать отдельное приложение, которое будет пытаться использовать протокол OAuth 2.0 и получать данные из Google Analytics.
Решение:
Шаг 1: Загрузите и импортируйте файлы Jar
Для начала нам нужно скачать и импортировать следующие файлы jar:
Местоположение загрузки: API клиента Google
- google-api-client-1.8.0-beta.jar — содержит код основного API для Google Analytics
- google-oauth-client-1.8.0-beta.jar — содержит код клиента OAuth
- gson-2.1.jar — библиотека Java для преобразования JSON в объект Java и наоборот
- guava-11.0.1.jar — этот jar содержит несколько основных библиотек Google, таких как коллекции, кэширование, поддержка примитивов, общие аннотации, обработка строк
- jackson-core-asl-1.9.4.jar — это высокопроизводительный процессор JSON
Шаг 2: Зарегистрируйте клиентское приложение в Google
Каждое приложение должно быть зарегистрировано в Google API, чтобы мы могли использовать токен OAuth 2.0 в процессе аутентификации и авторизации. Чтобы зарегистрировать приложение, пользователь должен войти в учетную запись Google и перейти в консоль API Google .
В консоли Google API создайте новый проект с помощью меню слева.
Создать новый проект |
На вкладке «Службы» включите API-интерфейс Google Analytics, чтобы к нему можно было получить доступ.
Включить API Analytics |
На вкладке API Access создайте идентификатор клиента OAuth 2.0.
Создать идентификатор клиента OAuth |
Создать информацию о брендинге для идентификатора клиента
Создать информацию о брендинге |
Выберите тип приложения. В нашем примере мы выбираем «Установленное приложение», обычно работающее в локальной системе.
Выберите тип приложения |
Сводная информация по консоли API, содержащая сведения об идентификаторе клиента и его секрете
Сводка Google API Console |
Шаг 3: Авторизация запросов
Регистрация дает значение clientId и clientSecret для вашего приложения, чтобы оно могло работать с Google API. Это ключи позволят клиентскому приложению не указывать имя пользователя и пароль и вместо этого использовать эти ключи.
Когда клиентское приложение выполняется, оно предлагает пользователям разрешить доступ и перенаправляет пользователей на URL-адрес Google, который, в свою очередь, предоставляет код авторизации. Код авторизации возвращается клиентскому приложению, которое затем использует код для получения токена доступа.
Шаг 4. Доступ к данным пользователя Google Analytics
Клиентское приложение использует токен доступа для получения данных пользователя Google Analytics.
<< GA Пример Скачать Код >>
Пример кода Объяснение:
Идентификатор клиента и значение Client Secret, полученные из консоли API Google, необходимо скопировать здесь, в программе.
1
2
|
private static final String CLIENT_ID = "XXXXXXXXXX" ; private static final String CLIENT_SECRET = "XXXXXXXXX" ; |
Создайте URL, который будет использоваться для получения кода авторизации.
1
2
|
String authorizationUrl = new GoogleAuthorizationRequestUrl(CLIENT_ID, REDIRECT_URL, SCOPE).build(); |
Здесь REDIRECT_URL относится к абсолютному пути URI, по которому сервер авторизации перенаправит пользовательский агент на этап авторизации конечного пользователя, и SCOPE относится к объему выраженного запроса доступа. Как только приложение выполнено, URL генерируется. Этот URL-адрес спросит, может ли пользователь учетной записи Google Analytics разрешить доступ для получения кода авторизации. После создания кода авторизации он будет использоваться в клиентском приложении для получения доступа к токену API Google.
Прочитайте код авторизации из консоли:
1
|
BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); |
Получите доступ к токену OAuth 2.0, используя код авторизации:
1
2
3
|
AccessTokenResponse response = new GoogleAccessTokenRequest.GoogleAuthorizationCodeGrant( netHttpTransport, jacksonFactory, CLIENT_ID, CLIENT_SECRET, authorizationCode, REDIRECT_URL).execute(); |
Инициализируйте объект службы Google Analytics:
1
2
3
|
Analytics analytics = Analytics.builder(netHttpTransport, jacksonFactory) .setHttpRequestInitializer(googleAccessProtectedResource) .setApplicationName(APPLICATION_NAME).build(); |
Получить данные профиля:
1
2
|
Profiles profiles = analytics.management().profiles() .list( "~all" , "~all" ).execute(); |
Получить данные Google Analytics с помощью запроса API:
1
2
3
4
5
|
Get apiQuery = analytics.data().ga() .get( "ga:" + profile.getId(), // Table ID ="ga"+ProfileID "2012-03-21" , // Start date "2012-05-04" , // End date "ga:visits" ); // Metrics |
Установить фильтры:
1
2
|
apiQuery.setFilters( "ga:medium==referral" ); apiQuery.setMaxResults( 100 ); |
Выполнить запрос:
1
|
GaData gaData = apiQuery.execute(); |
Затем данные могут быть получены из объекта GaData с использованием метода retrieveData ().
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
public static void retrieveData(GaData gaData) { // Get Row Data if (gaData.getTotalResults() > 0 ) { // Get the column headers for (ColumnHeaders header : gaData.getColumnHeaders()) { System.out.format( "%-20s" , header.getName() + '(' + header.getDataType() + ')' ); } System.out.println(); // Print the rows of data. for (List<String> rowValues : gaData.getRows()) { for (String value : rowValues) { System.out.format( "%-20s" , value); } System.out.println(); } } else { System.out.println( "No data available" ); } } |
Если вы хотите узнать больше о Google Analytics, обратитесь к нашей статье « Все о Google Analytics ».
Справка: Google API: как получить доступ к данным Google Analytics? от нашего партнера JCG Майнака Госвами в блоге Idiotechie .