2013-09-30 17 views
2

Моя цель - получить пользовательские отчеты пользователя, созданные в пользовательском интерфейсе Google Analytics из API Google Analytics. Я зарегистрировал приложение в Облачной консоли, где получил файл сертификата и сгенерировал электронную почту разработчика. Также настроен доступ (предоставлен все права) для сгенерированного электронного письма на странице администратора в пользовательском интерфейсе GA. Для достижения моей цели я пытаюсь получить сегменты из службы, но я не уверен, что это правильный способ получения пользовательских отчетов. В результате получают только 13 сегментов по умолчанию (с отрицательным Ids), это меньше, чем я могу получить в Google Обозревателе API, например, один из негоПользовательские отчеты в API Google Analytics

{ «ID»: «9MaL7mLnQbWO3k52Ipni5A», «вид»: "аналитика # сегмент",
"selfLink": "https://www.googleapis.com/analytics/v3/management/segments/gaid::9MaL7mLnQbWO3k52Ipni5A", "segmentId": "Gaid :: 9MaL7mLnQbWO3k52Ipni5A", "имя": "Блог Комментарий Отправители", "определение": «га: eventAction = @ commentform "}

Мой вопрос - это правильный способ получения пользовательских отчетов? Если да, то почему я получаю только сегменты по умолчанию?

Код:

private readonly string scope = AnalyticsService.Scopes.Analytics.GetStringValue(); 

private const string clientId = "[email protected]"; 

private const string keyFile = @"C:\xxx-privatekey.p12"; 

string keyPassword = "notasecret"; 

var desc = GoogleAuthenticationServer.Description; 
var key = new X509Certificate2(keyFile, keyPassword, X509KeyStorageFlags.Exportable); 

var client = new AssertionFlowClient(desc, key){ 
    ServiceAccountId = clientId, 
    Scope = scope 
}; 

var auth = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState); 

var gas = new AnalyticsService(new BaseClientService.Initializer { Authenticator = auth, }); 

var request = gas.Management.Segments.List(); 

var d = request.Execute(); 

ответ

2

Александр,

Мне жаль это говорить, но ваш код не будет работать :-)

Вы используете Management API , который не имеет прямого доступа к данным, но используется для настройки учетной записи администратора, пользователей и т. д .:

С API управления вы можете запросить для учетной записи пользователя, веб- свойства и представление (профили), определить, какие счета сегментов пользователя настроил, даже получить информацию о целях в сконфигурированного зрения (профиль).

Я предлагаю использовать Core Reporting API. Учитывая детали вашего сообщения, я предполагаю, что техническая часть не будет проблемой.

И чтобы ответить на ваш вопрос - даже если есть прямой способ создать собственный отчет, просто используйте те же измерения/метрики/фильтры/сегменты, что и в веб-интерфейсе.

The query structure очень прямолинейно, например:

GET https://www.googleapis.com/analytics/v3/data/ga 
    ?ids=ga:12345 
    &start-date=2008-10-01 
    &end-date=2008-10-31 
    &metrics=ga:visits,ga:bounces 
+0

Петр, мне не нужны только визиты и отскоки, у меня есть 20+ отчетов, и я не хочу их воссоздавать с нуля. –

+0

@ Александр Чернышов Я понимаю, но нет прямого способа получить структуру пользовательского отчета, к сожалению.Приведенный выше пример был взят из документации Google Analytics, вы можете, конечно, добавить еще несколько измерений/показателей. Проверочный проводник также может помочь в обеспечении некоторой скучной работы: http://ga-dev-tools.appspot.com/explorer/ –

0

К сожалению, вы не можете получить доступ пользовательских отчетов данных через API. Существует открытый запрос функции здесь: Expose Custom Reporting trough API

Инструмент Megalytic может заинтересовать вас. Он создает отчеты из API, которые вы можете сохранять в виде шаблонов, делиться с другими по электронной почте или веб-ссылками и даже создавать свои собственные обложки или логотип. Отказ от ответственности: Я основатель Megalytic.

+0

Для других, заинтересованных в этой функции, пожалуйста, прокомментируйте открытый запрос функции https://code.google. com/p/analytics-issues/issues/detail? id = 23 Отметить ссылки, тем больше поддержки он получит, тем более вероятно, что он будет добавлен в API. – chrisb

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