gpt4 book ai didi

c# - 通过SkyDrive API上传文件到skydrive

转载 作者:行者123 更新时间:2023-11-30 15:03:01 25 4
gpt4 key购买 nike

我尝试通过我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com