c#-MS Skydrive-获取用户信息';账户

c#-MS Skydrive-获取用户信息';账户,c#,onedrive,C#,Onedrive,我正在创建一个c#winform应用程序,我希望能够显示用户的MS SkyDrive信息,特别是他们SkyDrive上的可用空间和使用的空间。我使用的是Windows7,我正在尝试这样做,但在用户进行身份验证后,我很难获得访问令牌。到目前为止,我所能拼凑的就是这些: public void getInfo() { var uri = "https://login.live.com/oauth20_authorize.srf"; var authorize

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

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);

    }
public void getInfo()
{
var uri=”https://login.live.com/oauth20_authorize.srf";
var authorizeUri=新的StringBuilder(uri);
AppendFormat(“?client_id={0}&”,”);
AppendFormat(“scope={0}&”,“wl.sign”);
AppendFormat(“response_type={0}&”,“token”);
AppendFormat(“redirect_uri={0}”,HttpUtility.UrlEncode(“”);
var startInfo=new ProcessStartInfo();
startInfo.FileName=authorizeUri.ToString();
进程启动(startInfo);
}
这会弹出一个浏览器,允许用户对应用程序授予权限。但是,它通过重定向到应用程序的“redirct url”并在url中包含访问令牌来返回访问令牌。这真的帮不了我,因为我的应用程序是桌面应用程序。我一直在阅读微软的文档,除了Windows8和WindowsPhone的信息外,找不到任何其他信息

我该怎么做

您可以尝试:

我用它的原因和你想用它的原因一样。对我来说效果很好。有一个示例应用程序使用此


很抱歉,我可以为您提供代码,因为我只将其用于测试,它被删除了

我猜您应该使用LiveConnect API来执行此操作,而不是试图劫持浏览器交互:(以及其他文档)。谢谢,这两个文档的代码似乎都不起作用。自从你发布此消息后,我一直在谷歌上搜索,但我找不到解决方案:/Hmm,可能他们会因为Windows 8的发布而更改API。新的Live SDK仅适用于WinRT:/