Exemplo n.º 1
0
        public static async Task Main(string[] args)
        {
            var config        = new LoggingConfiguration();
            var consoleTarget = new ColoredConsoleTarget("target")
            {
                Layout = @"${date:format=HH\:mm\:ss} ${level} ${callsite} - ${message} ${exception}"
            };

            config.AddTarget(consoleTarget);
            config.AddRuleForAllLevels(consoleTarget);
            NLog.LogManager.Configuration = config;

            var clientId = "4ecd4a8e-a3b9-47be-a27e-3f1717b07180";
            IPublicClientApplication publicClientApplication = PublicClientApplicationBuilder
                                                               .Create(clientId)
                                                               .WithRedirectUri("http://localhost")
                                                               .Build();

            var scope = new List <string>()
            {
                "Files.Read.All"
            };
            await publicClientApplication
            .AcquireTokenInteractive(scope)
            .WithPrompt(Microsoft.Identity.Client.Prompt.NoPrompt)
            .ExecuteAsync();

            var authenticationProvider = new InteractiveAuthenticationProvider(publicClientApplication);
            var graphServiceClient     = new GraphServiceClient(authenticationProvider);
            var apiClient = new OnedriveApiClient(graphServiceClient);

            var root = await apiClient.GetOnedriveRoot();

            var downloader = new OnedriveDownloader(apiClient);
            await downloader.DownloadItemRecursive(root, "/home/marcel/Onedrive");
        }
Exemplo n.º 2
0
 public OnedriveDownloader(OnedriveApiClient apiClient)
 {
     this._apiClient = apiClient;
 }