我想直接从C#创建一个doc,docx,pptx或excel文件到我的Onedrive帐户。
我已经尝试过了,但是对我不起作用。有人知道我做错了什么吗?谢谢

public async Task<ActionResult> CreateWordFile()
{
   LiveLoginResult loginStatus = await authClient.InitializeWebSessionAsync(HttpContext);
   if (loginStatus.Status == LiveConnectSessionStatus.Connected)
   {
        var fileData = new Dictionary<string, object>();
        fileData.Add("name", "Document.docx");
        fileData.Add("Content-Type", "multipart/form-data; boundary=A300x");
        fileData.Add("type", "file");

        LiveOperationResult getResult = await connectedClient.PostAsync("me/skydrive/files", fileData);
    }

    return View();
}

编辑:
我得到的错误是这一个:

“ header 'Content-Type'缺少必需的参数:'boundary'。
说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:Microsoft.Live.LiveConnectException: header “Content-Type”缺少必需的参数“boundary”。”

最佳答案

有两件事:

  • 提供给PostAsync的字典仅填充请求正文中的字段,因此在其中添加Content-Type不会产生任何影响
  • 文件资源用于使用需要内容的UploadAsync方法创建。我不相信您可以调用一个API来告诉服务创建空白Office文档。
  • 10-08 00:02