下载“;文本“;使用LiveConnectAPI从skydrive获取文件

本文关键字:skydrive 获取 文件 使用 文本 下载 LiveConnectAPI | 更新日期: 2023-09-27 18:22:37

我正在为我的windows phone 7应用程序使用LiveConnectAPIskydrive下载文本文件
Text文件包含我需要在IsolatedStorage中写入的XML数据

问题是,当我从skydrive下载文件并写入IsolatedStorage
时,我在IsolatedStream中得到NULL
我需要编写skydrive根文件夹中TextFile的XML内容。

注意:-名为userData.txt的文件位于"me/skydrive/files"(skydrive的根文件夹,如果我访问根文件夹时出错,请更正我)


string id = string.Empty;
>client.GetCompleted += (obj, args) =>
                {
                   List<Object> items = args.Result["data"] as List<Object>;
                    foreach (object item in items)
                    {
                        Dictionary<string, object> file = item as Dictionary<string, object>;
                        if (file["name"].ToString() == "userData.txt")
                        {
                            id = file["id"].ToString();
                            break;
                        }
                    }
                    client.DownloadAsync(id+"/content");
                };
                client.GetAsync("me/skydrive/files");

下载完成时

client.DownloadCompleted += (o, a) =>
             {
                MemoryStream outputStream = (MemoryStream)a.Result;
//Saving the file to Isolated Storage.
                var myStore = IsolatedStorageFile.GetUserStoreForApplication();
                IsolatedStorageFileStream myFileStream = myStore.CreateFile(GlobalConstants.cnst_storefile_name);
                myFileStream.Write(outputStream.GetBuffer(), 0, (int)outputStream.Length);

                myFileStream.Close();
                StreamReader reader = new StreamReader(new IsolatedStorageFileStream(GlobalConstants.cnst_storefile_name, FileMode.Open, myStore));
                string rawData = reader.ReadToEnd();
                reader.Close();
            };
        }

下载“;文本“;使用LiveConnectAPI从skydrive获取文件

您可以检查您使用的LiveConnect库的版本吗。微软最近对SkyDrive进行了一些突破性的更改,使用旧版本的库构建的代码不再有效。您需要5.4版本的库。