【问题标题】:Get a file from OneDrive and use data of xml file into C# application从 OneDrive 获取文件并将 xml 文件的数据用于 C# 应用程序
【发布时间】:2015-06-14 12:59:49
【问题描述】:

我在 OneDrive 上在线放置了一个 xml 文件,并与所有使用我的程序的人共享。现在我想将它读入我的 C# 应用程序。我尝试了很多代码。以下列表:

  1. 我尝试了HttpClientHttpResponseMessage。但它给了我来自 OneDrive 网页的 html 代码。如果您查看该页面,我明白为什么。

  2. 我还希望通过以下代码在我的应用程序中使用 LiveSDK:

    try
    {
        LiveConnectClient liveClient = new LiveConnectClient(this.session);
        LiveOperationResult operationResult = await liveClient.GetAsync(@"https://onedrive.live.com/?****");
        dynamic result = operationResult.Result;
    }
    catch (LiveConnectException ex)
    {
        Debug.WriteLine("LiveConnectException catched => " + ex.Message);
    }
    

    但我无法创建LiveConnectClient 的实例,因为您需要登录,而我不希望这样。在此链接上找到:MSDN 上的“Working with Microsoft OneDrive folders and files”和 Stackoverflow 上的“Store LiveConnectSession in WP7”。

谁能帮助我或解释一下?我只需要 xml 代码(而不是 html 代码)并将制作数据图表。我使用 C# 语言来加载文件。 对不起,我的英语不好或一些错误,我是 Microsoft Live 帐户的新手,可以访问应用程序。

谢谢

【问题讨论】:

    标签: c# xml dotnet-httpclient onedrive live-sdk


    【解决方案1】:

    如果您希望客户能够下载一个文件,您只需在从共享 UI 收到的共享链接上组装一个变体,它应该如下所示:

    https://onedrive.live.com/redir
    ?resid=8bf6ae9dbc6caa4c!116505
    &authkey=!AD0q0bcg_i3dmvg
    &ithint=file%2ctxt
    

    您需要将 redir 的路径修改为 download,并且可以删除 ithint 参数,使请求如下所示:

    https://onedrive.live.com/download.aspx
    ?resid=8bf6ae9dbc6caa4c%216505
    &authkey=%21AD0q0bcg_i3dmvg
    

    此网址应允许您发出匿名请求并下载该共享文件以供您的应用程序使用。

    对于更强大的共享场景,我建议查看 https://dev.onedrive.com 以获取所有支持的场景列表以及如何使用它们的示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多