# ================================= Задайте параметры отчета ================================= # Добавьте токены аккаунтов и задайте тип аккаунта: клиентский или агентский yandexToken <- list( 'ВАШ ТОКЕН' = 'client', 'ВАШ ТОКЕН' = 'agent' ) # Поля отчёта reportFields <- list( 'CampaignName', 'CampaignId', 'Clicks', 'Cost', 'Conversions' ) # Дата начала отчёта dateStart <- '2020-05-01' # Дата окончания отчёта dateEnd <- '2020-06-02' # Почта аккаунта Google для загрузки в Google Spreadsheet googleLogin <- 'silverwork2015@gmail.com' # Название файла который будет создан в Google Spreadsheet fileName <- 'Union stat Yandex Direct' # ============================================================================================ if(!'httr' %in% rownames(installed.packages())){ install.packages('httr') } if(!'jsonlite' %in% rownames(installed.packages())){ install.packages('jsonlite') } if(!'googlesheets4' %in% rownames(installed.packages())){ install.packages('googlesheets4') } library(httr) library(jsonlite) library(googlesheets4) source('https://adf-media.ru/public/workitems/adf_zorbas_4_function_source.txt') generalData <- data.frame() # создаём пустую таблицу куда запишем результат for(t in 1:length(yandexToken)){ if(as.character(yandexToken[t]) == 'client'){ clientReport <- YDGetReport( ClientLogin = FALSE, Fields = reportFields, StartDate = dateStart, EndDate = dateEnd, Token = names(yandexToken)[t] ) if(nrow(clientReport) > 0){ # Если есть данные - то записываем их в общую таблицу clientReport$client <- paste0('Direct client #', t) generalData <- rbind(generalData, clientReport) } } if(as.character(yandexToken[t]) == 'agent'){ my_client <- YDGetClients(names(yandexToken)[t]) # получаем клиентов агентства for(i in my_client) { clientReport <- YDGetReport( ClientLogin = i, Fields = reportFields, StartDate = dateStart, EndDate = dateEnd, Token = names(yandexToken)[t] ) if(nrow(clientReport) > 0){ # Если есть данные - то записываем их в общую таблицу clientReport$client <- as.character(i) generalData <- rbind(generalData, clientReport) } } } } # Авторизуемся и загружаем данные в Google Spreadsheet auth <- sheets_auth(email = googleLogin) sheets_create(fileName, sheets = generalData)