2017-02-01 3 views
1

Есть ли способ получить данные из API GA, включая настраиваемое измерение в динамическом режиме?Динамически получать пользовательский параметр из API Google Analytics

я запускаю этот код:

startDate="YYYY-MM-DD" 
endDate="YYYY-MM-DD" 
viewID="ga:XXXXXXXX" 
dim=XX 

query.list<-Init(
    start.date=startDate, 
    end.date=endDate, 
    dimension="print(paste0('ga:dimension',dim), quote=FALSE), ga:date", 
    metrics="ga:sessions", 
    sort="-print(paste0('ga:dimension',dim), quote=FALSE)", 
    max.results=10000, 
    table.id=viewID 
) 

ga.query<-QueryBuilder(query.list) 
ga.data<-GetReportData(ga.query,token,paginate_query = T, split_daywise = T) 

и выход:

Ошибка в ParseDataFeedJSON (GA.Data): код: 400 Причина: Недопустимое значение 'печати (paste0 (' га: измерение ", тусклый), цитата = FALSE), га: дата. Значения должны соответствовать следующему регулярному выражению: '(ga:. +)?'

Заранее благодарен!

+0

Избавьтесь от двойных кавычек во всех выражениях, как это: '" печать (paste0 ('га: size ', dim), quote = FALSE), ga: date "' - это синтаксическая ошибка. – nrussell

ответ

1

Lourdes, вы пишете & функции вставки между «", функция Init читает их как символ, а не как функцию. Попробуйте это:

startDate="YYYY-MM-DD" 
endDate="YYYY-MM-DD" 
viewID="ga:XXXXXXXX" 
dim=XX 
query.list<-Init(
      start.date=startDate, 
      end.date=endDate, 
      dimension=paste(toString(paste("ga:dimension", dim, sep="")), "ga:date",sep=", "), 
      metrics="ga:sessions", 
      sort=toString(paste("-ga:dimension", dim, sep="")), 
      max.results=10000, 
      table.id=viewID 
     ) 

ga.query<-QueryBuilder(query.list) 
ga.data<-GetReportData(ga.query,token,paginate_query = T, split_daywise = T) 

Для пользовательских размеров 1,5,11 записи:

dim=c("1","5","11") 
+0

Спасибо Марио! Оно работает. –

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