C# 如何使用onedrive sdk for windows 10 UWP在onedrive上上载文件夹/文件

C# 如何使用onedrive sdk for windows 10 UWP在onedrive上上载文件夹/文件,c#,windows-runtime,uwp,onedrive,C#,Windows Runtime,Uwp,Onedrive,我正在尝试使用onedrive sdk上传带有链接的内容 编辑: 我有将文件写入onedrive的权限 我可以登录并查看onedrive的文件夹 此外,该应用程序还与商店关联 代码: 使用(contentStream) { var uploadedItem=等待oneDriveClient .开车 .根 .ItemWithPath(“path/to/file.txt”) .内容 .Request() .PutAsync(contentStream); } 什么是path/to/file.t

我正在尝试使用onedrive sdk上传带有链接的内容

编辑:

  • 我有将文件写入onedrive的权限
  • 我可以登录并查看onedrive的文件夹
  • 此外,该应用程序还与商店关联
代码:

使用(contentStream)
{
var uploadedItem=等待oneDriveClient
.开车
.根
.ItemWithPath(“path/to/file.txt”)
.内容
.Request()
.PutAsync(contentStream);
}

什么是path/to/file.txt,什么是contentStream?有谁能给我一个清晰的例子,因为我得到了一个“Microsoft.OneDrive.Sdk.OneDriveException”。

您可能想查看的文档的一部分是身份验证过程,因为这将帮助您开始在UWP应用程序中使用

要分解他们为您发布的示例代码中的内容,contentStream是您希望以流的形式上载的文件。如果使用StorageFile对象上载到OneDrive,则需要调用存储文件上的OpenStreamForReadAsync方法来获取示例中的contentStream


“path/to/file.txt”部分是将文件存储在OneDrive根文件夹中的位置。因此,如果您在此处添加文件夹结构,您将把它放在其中,例如,如果您正在上载image.jpg,您可能会遇到以下/AppId/Images/image.jpg

未尝试过此操作,但似乎path/to/file.txt代表OneDrive上新文件的目的地,contentStream是一个将上载到该文件的数据流。你得到了什么样的例外?您是否已使用上载功能登录,是否已检查是否存在合适的文件夹?OneDrive API有很好的文档,你也可以看看源代码。@Romasz我已经编辑了这个问题。我只是想知道如何从根目录中获取路径/to/file.txt?你能确切地告诉我/AppId/在这里的意思是什么,以及我如何访问它吗。因为使用CurrentApp.AppId会导致系统异常。还有,如何上传文件夹?@AbsoluteSith,这正是您要将文件放入OneDrive的路径。因此,AppId将是OneDrive文件结构根目录中名为AppId的文件夹的名称。要上载文件文件夹,您可能必须一次循环上载每个文件。哦,我使用此方法获得的路径为“/drive/root/myfolder/myfile.txt”。我尝试上载,但没有错误,但文件没有上载。我想知道如何先创建一个文件夹?我知道了。我的本地onedrive文件夹未刷新,但内容已上载。谢谢你的帮助。
using (contentStream)
{
    var uploadedItem = await oneDriveClient
                                 .Drive
                                 .Root
                                 .ItemWithPath("path/to/file.txt")
                                 .Content
                                 .Request()
                                 .PutAsync<Item>(contentStream);
}