Exemple #1
0
        public void BulkExportActivities()
        {
            Console.WriteLine("============================Getting token==============================");
            Console.WriteLine("============================Creating job==============================");

            ActivitiesExportRequest request = _requestFactorty.CreateActivitiesExportRequest(_host, _token);
            string job = ActivitiesHttpProcessor.CreateJob(request);

            Console.WriteLine("============================Getting exportedId==============================");
            JObject jobObject  = (JObject)JsonConvert.DeserializeObject(job);
            JToken  result     = jobObject["result"];
            string  exportedId = result[0]["exportId"].ToString();

            request.ExportId = exportedId;
            Console.WriteLine("============================Enqueuing job " + exportedId + "==============================");
            ActivitiesHttpProcessor.EnqueueJob(request);
            string status = ActivitiesHttpProcessor.GetJobStatus(request);

            while (status != "Completed")
            {
                System.Threading.Thread.Sleep(1 * 60 * 1000);
                status = ActivitiesHttpProcessor.GetJobStatus(request);
                //Console.WriteLine("==============================Waiting job to be completed=====================================");
                Console.WriteLine("==============================" + status + "=====================================");
            }

            if (ActivitiesHttpProcessor.GetJobStatus(request) == "Completed")
            {
                Console.WriteLine("==========================Job Completed, Start to retrieving===============================");
                string extractedData = ActivitiesHttpProcessor.Export(request).Result;
                System.IO.File.WriteAllText(@"D:\activitity_results001.csv", extractedData);
                Console.WriteLine("==========================Done!===============================");
                Console.ReadKey();
            }
        }
Exemple #2
0
        public static string EnqueueJob(ActivitiesExportRequest request)
        {
            string              url        = request.Host + "/bulk/v1/activities/export/" + request.ExportId + "/enqueue.json?access_token=" + request.Token;
            HttpClient          httpClient = new HttpClient();
            StringContent       content    = new StringContent("", Encoding.UTF8, "application/json");
            HttpResponseMessage response   = httpClient.PostAsync(url, content).Result;

            response.EnsureSuccessStatusCode();
            return(response.Content.ReadAsStringAsync().Result);
        }
Exemple #3
0
        public static string CreateJob(ActivitiesExportRequest request)
        {
            string url = request.Host + "/bulk/v1/activities/export/create.json?access_token=" + request.Token;

            HttpClient          httpClient = new HttpClient();
            StringContent       content    = new StringContent(BodyBuilder(request.OutputFormat, request.Filters), Encoding.UTF8, "application/json");
            HttpResponseMessage response   = httpClient.PostAsync(url, content).Result;

            response.EnsureSuccessStatusCode();
            return(response.Content.ReadAsStringAsync().Result);
        }
Exemple #4
0
        public static async Task <string> Export(ActivitiesExportRequest request)
        {
            string              url      = request.Host + "/bulk/v1/activities/export/" + request.ExportId + "/file.json?access_token=" + request.Token;
            HttpClient          client   = new HttpClient();
            HttpResponseMessage response = await client.GetAsync(url);

            response.EnsureSuccessStatusCode();

            string content = await response.Content.ReadAsStringAsync();

            return(content);
        }
Exemple #5
0
        public static string GetJobStatus(ActivitiesExportRequest request)
        {
            string              url      = request.Host + "/bulk/v1/activities/export/" + request.ExportId + "/status.json?access_token=" + request.Token;
            HttpClient          client   = new HttpClient();
            HttpResponseMessage response = client.GetAsync(url).Result;

            response.EnsureSuccessStatusCode();
            string content = response.Content.ReadAsStringAsync().Result;

            JObject jobObject = (JObject)JsonConvert.DeserializeObject(content);
            JToken  result    = jobObject["result"];
            string  jobStatus = result[0]["status"].ToString();

            return(jobStatus);
        }
Exemple #6
0
        public ActivitiesExportRequest CreateActivitiesExportRequest(string host, string token)
        {
            string outputFormat = "csv";
            string startAtTime  = "2017-8-01T23:59:59-00:00";
            string endAt        = "2017-8-30T23:59:59-00:00";
            Dictionary <string, dynamic> filter    = new Dictionary <string, dynamic>();
            Dictionary <string, string>  createdAt = new Dictionary <string, string>();

            createdAt.Add("startAt", startAtTime);
            createdAt.Add("endAt", endAt);
            filter.Add("createdAt", createdAt);
            int[] activityTypeIds = new int[] { 1, 2, 10, 11, 22, 46 };
            filter.Add("activityTypeIds", activityTypeIds);

            ActivitiesExportRequest request = new ActivitiesExportRequest()
            {
                Host         = host,
                Token        = token,
                OutputFormat = outputFormat,
                Filters      = filter
            };

            return(request);
        }