2014-09-22 18 views
1

我已經下載了一個exampled,顯示了我的OneDrive for Bussiness中的「與所有人共享」文件夾中的文件。它工作正常! 但是,當我嘗試創建一個文件夾或文件(沒有內容),如this documentation響應成爲一個BadRequest。BadRequest嘗試通過REST創建文件夾

請求是這樣:

 string requestUrl = String.Format(CultureInfo.InvariantCulture, "{0}/files", serviceInfo.ApiEndpoint); 

     // Prepare the HTTP request: 
     using (HttpClient client = new HttpClient()) 
     { 
      Func<HttpRequestMessage> requestCreator =() => 
      { 
       HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestUrl); 
       request.Headers.Add("Accept", "application/json;odata.metadata=full");     
       request.Content = new StringContent(@"{'__metadata':{'type':'MS.FileServices.Folder'},Name:'TestFolder'}"); 
       request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 

       return request; 
      }; 

}

而響應是錯誤請求。 我認爲我的問題出現在「__metadata」的json值中。這是正確的?我在哪裏可以找到實施此操作的工作示例?

在此先感謝!

編輯:從更改API端點「/ _api /網絡/ getfolderbyserverrelativeurl(‘文件’)/文件」到「_api /文件」的錯誤成爲了道:「屬性‘__metadata’不上類型存在'MS.FileServices.FileSystemItem'。確保只使用由類型定義的屬性名稱。「

我認爲我在這裏前進。但是,我仍然繼續遇到問題。

回答

1

我不確定這是否對您有任何幫助,因爲這屬於oneDrive而非oneDrive業務。 另外,資料的主要困惑:)

根據documentation請求應該是如下:

POST https://apis.live.net/v5.0/me/skydrive 

Authorization: Bearer ACCESS_TOKEN 
Content-Type: application/json 

{ 
    "name": "My example folder" 
} 

,如果你可以看到,在標題中有授權的訪問令牌

我不看到你發送給服務器的任何訪問令牌。這就是爲什麼你有一個不好的要求。