Подключение к oneDrive с C # в форме Windows

1

У меня есть приложение С# Windows Forms, и я хочу загрузить XML файл в OneDrive и загрузить его в свое приложение.

Я читал MSDN о библиотеках Microsoft.Live, но я ничего не мог найти или, по крайней мере, не понял, что мне делать. Может ли кто-нибудь помочь указать мне в правильном направлении?

Теги:
onedrive

2 ответа

0

Ниже приведен пример кода, который поможет вам подключить один диск и получить доступ к его файлам и папкам.

            var optConfig = new Options
            {
                ClientId = "0000000000000000",
                ClientSecret = "XXXXt02UYkQm6Kb48fKtD7",
                CallbackUrl = "https://login.live.com/oauth20_desktop.srf",
                AutoRefreshTokens = true,
                PrettyJson = false,
                AccessToken = "AccessTokenXXXXX",
                RefreshToken = "RefreshTokenXXXX",
                ReadRequestsPerSecond = 2,
                WriteRequestsPerSecond = 2
            };

            var client = new Client(optConfig);

            var rootFolder = await client.GetFolderAsync();
            // rootFolder.Name - folder name
            //rootFolder.Id  - folder id

            var folderContent = await client.GetContentsAsync(rootFolder.Id);

            foreach (var item in folderContent)
            {
                Console.WriteLine("\tItem ({0}: {1} (Id: {2})", item.Type, item.Name, item.Id);
                var folderContent = await client.GetContentsAsync(item.Id);
                var filesList = folderContent.Where(e => e.Type != "folder");
                                foreach (var fileItem in filesList)
                                {
                                   //Download files here
                                    var uri = fileItem.Source;
                                    var request = (HttpWebRequest)WebRequest.Create(uri);
                                    HttpWebResponse response;
                                    response = (HttpWebResponse)request.GetResponse();                                      
                                    if ((response.StatusCode == HttpStatusCode.OK ||
                                         response.StatusCode == HttpStatusCode.Moved ||
                                         response.StatusCode == HttpStatusCode.Redirect))
                                    {
                                        var tempFileName = response.ResponseUri.Segments[(response.ResponseUri.Segments.Count() - 1)];
                                        using (var fileStream = response.GetResponseStream())
                                        {
                                        //Save Strame   
                                        }
                                    }

                                }
            }
  • 0
    Пожалуйста, добавьте некоторый контекст к вашему ответу.
  • 0
    Вопрос был опубликован более 4 лет назад и является не по теме как «слишком широкий» (просто требование, без каких-либо вопросов по программированию), а также с вопросом о рекомендации по инструменту / ресурсу / учебному пособию (просьба о помощи сторонних ресурсов). Лучше всего не отвечать на такой вопрос (поскольку переполнение стека на самом деле не настроено на то, чтобы люди публиковали требования, а другие создавали решения).
0

Там есть документация на странице разработчика OneDrive об интеграции с настольными приложениями Windows. Вы взглянули на это? http://msdn.microsoft.com/en-us/library/dn631817.aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню