无法使用来自 Windows Phone 8.1 RT 的 LiveSDK 上传到 OneDrive

can't upload to OneDrive using LiveSDK from Windows Phone 8.1 RT

我正在尝试将 1 KB 的文件上传到 OneDrive 的现有文件夹中。该应用程序是真实 Windows Phone 8.1 设备上的 WinRT。

代码非常简单,取自文档的示例:

    var lcc = new LiveConnectClient(session);
    //https://msdn.microsoft.com/en-us/library/office/dn659730.aspx
    var r = await lcc.CreateBackgroundUploadAsync(folderId, "somefile.bin", file, OverwriteOption.Overwrite);            
    var r2 = await r.StartAsync();
    return r2;

此代码是从异步按钮点击事件调用的。我在使用 BackgroundUploadAsync 时遇到相同的结果(这可能与以任何方式使用前 2 种方法相同)。

因此执行 StartAsync 方法,但未收到任何响应,它会无限期地等待(它不会阻止 UI 线程),不会抛出任何可观察到的异常,也不会上传任何文件。

folderId 引用 OneDrive 中的真实文件夹。

我也没有注意到上传文件有任何问题。它存在并且没有应用程序试图访问它。

我使用类似代码从 OneDrive 下载文件没有问题。

当来自 Windows Store 8.1 应用程序的 运行 时,完全相同的代码工作正常。 Windows 和 Windows Phone 应用程序都使用相同的 WinRT Live SDK 库。所以我猜问题出在 Live SDK 使用的后台传输 API 上。

我试图在单独的应用程序中找出问题,但没有成功。同样的代码在另一个项目中运行良好。所以我重新安装了(从 VS2015 卸载然后 运行 它)应用程序,它现在工作正常!