MP.getRawData <- function(api_secret = NULL,
event = NULL,
where = NULL,
from_date = "2017-07-10",
to_date = "2017-07-10"){
#Âðåìÿ íààëà ðàáîòû ôóíêöèè
start_time <- Sys.time()
if(!is.null(event)){
event <- toJSON(event)
}
#Ôîðìèðîâàíèå çàïðîñà
query_string <- paste0('https://',api_secret,'@data.mixpanel.com/api/2.0/export/?',
ifelse(is.null(event),'',paste0('event=',event)),
ifelse(is.null(where),'',paste0('&where=',gsub(pattern = " ", x = where,replacement = "%20"))),
ifelse(is.null(from_date),'',paste0('&from_date=',from_date)),
ifelse(is.null(to_date),'',paste0('&to_date=',to_date)))
#Îòïðàâêà çàïðîñà ê API
api_answer <- GET(query_string)
stop_for_status(api_answer)
#ïàðñèíã ðåçóëüòàòà
#Ïðåîáðàçóåì êîðÿâûé json â íîðìàëüíûé, íåîáõîäèìî âñå ñîáûòèÿ çàâåðíóòü â ìàññèâ
mixpanelrawdata <- fromJSON(paste0("[",gsub(",
$","]",gsub("}}", "}},", content(api_answer,as = "text" )))))
#Âðåìÿ îêîí÷àíèÿ ðàáîòû ôóíêöèè
stop_time <- Sys.time()
#Äëèòåëüíîñòü ðàáîò
duration_sec <- round(difftime(stop_time, start_time , units ="secs"),0)
#Âûâîäèì ñîîáùåíèå î ðàáîòå ôóíêöèè
packageStartupMessage(paste0("Function work durations: ",duration_sec," sec."))
packageStartupMessage(paste0("Number of loaded rows: ",nrow(mixpanelrawdata)))
#Âîçâðàùàåì ãîòîâûé äàòà ôðåéì
return(mixpanelrawdata)}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.