static private async Task create_compliance_export_task() { var parameters = new CreateDataExportTaskRequest(); parameters.timeFrom = "2019-08-01T00:00:00.000Z"; parameters.timeTo = "2019-08-26T23:59:59.999Z"; var resp = await rcsdk.Restapi().Glip().DataExport().Post(parameters); Console.WriteLine("Create export task"); var taskId = resp.id; Boolean polling = true; while (polling) { Console.WriteLine("Check export task status ..."); Thread.Sleep(5000); resp = await rcsdk.Restapi().Glip().DataExport(taskId).Get(); if (resp.status != "InProgress") { polling = false; } } if (resp.status == "Completed") { for (var i = 0; i < resp.datasets.Length; i++) { var fileName = "rc-export-reports_" + resp.creationTime + "_" + i + ".zip"; var contentUrl = resp.datasets[i].uri + "?access_token=" + rcsdk.token.access_token; WebClient webClient = new WebClient(); webClient.DownloadFile(contentUrl, fileName); Console.WriteLine("Save report zip file to the local machine."); } } else { Console.WriteLine("Error!"); } }
/// <summary> /// Creates a task for Glip data export and returns a link at which the exported data will be available in future once /// the task is implemented. The exported data can be downloaded by calling Get Data Export Task method with the /// specified task ID. Simultaneously no more than 2 tasks per company can be created. /// HTTP Method: post /// Endpoint: /restapi/{apiVersion}/glip/data-export /// Rate Limit Group: Heavy /// App Permission: Glip /// </summary> public async Task <DataExportTask> Post(CreateDataExportTaskRequest createDataExportTaskRequest, RestRequestConfig restRequestConfig = null) { return(await rc.Post <DataExportTask>(Path(false), createDataExportTaskRequest, null, restRequestConfig)); }