c# - MS Skydrive - 获取用户帐户信息。

时间:2012-09-15 21:43:07

标签: c# onedrive

我正在创建一个c#winform应用程序,我希望能够显示用户MS SkyDrive信息,特别是SkyDrive上的可用空间和已用空间。我在Windows 7上,我正在尝试这样做,但在用户进行身份验证后,我很难获得访问令牌。到目前为止,这是我能够拼凑起来的所有内容:

public void getInfo()
    {

        var uri = "https://login.live.com/oauth20_authorize.srf";
        var authorizeUri = new StringBuilder(uri);

        authorizeUri.AppendFormat("?client_id={0}&", "<client id>");
        authorizeUri.AppendFormat("scope={0}&", "wl.signin");
        authorizeUri.AppendFormat("response_type={0}&", "token");
        authorizeUri.AppendFormat("redirect_uri={0}", HttpUtility.UrlEncode("<redirect domain>"));

        var startInfo = new ProcessStartInfo();
        startInfo.FileName = authorizeUri.ToString();
        Process.Start(startInfo);

    }

这会弹出一个浏览器并允许用户授予该应用的权限。但是,它会通过重定向到应用程序的redirct url'并在URL中包含访问令牌来返回访问令牌。这对我来说真的没有帮助,因为我的应用程序是桌面应用程序。我一直在阅读微软的文档,除了Windows 8和Windows手机的信息之外,找不到任何东西。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以尝试:http://skydriveapiclient.codeplex.com/

我使用它的原因与您想要使用它的原因相同。对我来说它运作良好。有一个使用此http://skydrivesync.codeplex.com/

的示例应用程序

很抱歉,我可以为您提供代码,因为我只是用它进行测试而且已被删除