示例#1
0
        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!");
            }
        }
示例#2
0
 /// <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));
 }