我尝试通过我的 Windows 8 应用程序中的 SkyDrive API 将文本文件上传到我的 skydrive,或者至少在 SD 中创建新的文本文件并编辑它的内容。 我该怎么做?
我试着做这样的事情:
LiveConnectClient client = new LiveConnectClient(session);
var fileData = new Dictionary<string, object>();
fileData.Add("name", "new_file.txt");
try
{
LiveOperationResult fileOperationResult = await client.PutAsync("me/skydrive", fileData);
this.infoTextBlock.Text = fileOperationResult.ToString();
}
catch (LiveConnectException exception)
{
this.infoTextBlock.Text = exception.Message;
}
但是我得到了错误 “提供的请求无效。无法更新根 SkyDrive 文件夹。” 如果我写类似“me/skydrive/”的东西,我会得到 “提供的 URL 无效。不支持请求的路径”。 方法 LiveConnectClient.PutAsync 只允许我更新现有属性(而不是它的内容)。
应该如何正确完成?
顺便说一句 - LCDC(http://msdn.microsoft.com/en-us/library/live/hh826531.aspx) 上的内容是否已更新?我问是因为文档中的某些方法在 dll 中不存在(例如 LiveConnectClient.Upload。只有 BackgroundUploadAsync)。
提前感谢您的帮助, 迈克尔
最佳答案
关闭,但如我所写:我不能使用 client.upload 方法,因为 LiveConnectClient 类不包含它。这就是我询问网站内容更新的原因。
无论如何 - 我有一个答案:
//create a StorageFile (here is one way to do that if it is stored in your ApplicationData)
StorageFile file = awaitApplicationData.Current.LocalFolder.GetFileAsync("yourfilename.txt");
try {
client = new LiveConnectClient(session);
LiveOperationResult operationResult = await client.BackgroundUploadAsync("me/skydrive", file.Name, file, OverwriteOption.Overwrite);
}
catch (LiveConnectException exception) {
//handle exception
}
关于c# - 通过SkyDrive API上传文件到skydrive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12112617/