如何编写.NET控制台应用程序来访问SkyDrive?

时间:2013-02-05 18:29:58

标签: .net onedrive

我正在尝试研究如何创建一个简单的.NET控制台应用程序来访问skydrive,以便我可以从命令行发送和接收文件。

Live Connect SDK和文档看起来有点模糊,通常针对Metro或HTML应用程序。

如果有人知道如何进行身份验证,然后列出我认为应该简单的内容,那么剩下的内容可能会很简单。

理想情况下我想使用API​​,但如果我必须恢复驱动REST API,那也没关系。

这是我正在尝试使用的代码块

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Live;

namespace SkyDriveCmd
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var task = Run();
                task.Wait();
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex);
            }
        }

        private static async Task Run()
        {
            var auth = new LiveAuthClient("XXXXXXXXXXXXX");
            var client = new LiveConnectClient(auth.Session);
            var result = await client.GetAsync("/");
            Console.WriteLine(result.RawResult);
        }
    }
}

我知道这是错误的,因为auth.Session为空,但我发现大量缺乏关于它如何工作的文档。

1 个答案:

答案 0 :(得分:0)

以下是使用从http://skydriveapiclient.codeplex.com/releases/view/103081

下载的Api的示例
    static void Main(string[] args)
    {
        var client = new SkyDriveServiceClient();

        client.LogOn("YourEmail@hotmail.com", "password");
        WebFolderInfo wfInfo = new WebFolderInfo();

        WebFolderInfo[] wfInfoArray = client.ListRootWebFolders();

        wfInfo = wfInfoArray[0];
        client.Timeout = 1000000000;

        string fn = @"test.txt";
        if (File.Exists(fn))
        {
            client.UploadWebFile(fn, wfInfo);
        }

    }