Я создаю функцию для загрузки данных Google Analytics из длинного списка профилей, и мне нужна функция цикла, которая может переносить профиль, не возвращающий данных.
Проблема заключается в том, что между началом цикла и местом возникновения ошибки требуется несколько функций.
Функция вставки извлекает идентификатор из idsvector
, а затем запрос API строится в 2 последовательных шага. Затем он отправляется в API с помощью GetReportData()
. Второй идентификатор в списке не возвращает данных от API. В настоящее время он загружает данные из первого профиля, объединяет их с основным набором данных и затем останавливается.
for (v in idsvector){
view.id <- paste("ga:",v,sep="") #the View ID parameter need to have "ga:" in front of the ID
sourcequery.list <- Init(
start.date = start.date,
end.date = end.date,
dimensions = "ga:channelGrouping,ga:campaign,ga:source,ga:medium,ga:date",
metrics = "ga:sessions,ga:bounces",
table.id = view.id,
max.results = 9999999
)
}
ga.sourcequery <- QueryBuilder(sourcequery.list)
data <- GetReportData(ga.sourcequery, token)
error=function(e){dev.off(); return(NULL)}
if (!is.null(data)) {
data$Property <- view.id
final.data<-rbind(sourcequery.data,data)
}
else {
next
}
}
Как мне адаптировать это так, чтобы он возвращался назад и пробовал следующий идентификатор?