2017-11-19 22 views
0

新しいOneNote APIノートブックを作成しようとすると、「不正なリクエスト」が表示されます。OneNote APIノートブックを作成

private async Task<string> CreateSimpleNotebook(string notebookName, string apiRoute) 
    { 
     var client = new HttpClient(); 

      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 

     try 
     { 
      client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken); 
     } 
     catch (Exception ex) 
     { 
      string tempEx = ex.ToString(); 
     } 

     var createMessage = new HttpRequestMessage(HttpMethod.Post, apiRoute) 
     { 
      Content = new StringContent("{ name : '" + WebUtility.UrlEncode(notebookName) + "' }", Encoding.UTF8, "application/json") 
     }; 

     HttpResponseMessage response = await client.SendAsync(createMessage); 

     return response.Headers.Location.ToString(); 
    } 

そして、私は次のようにメソッドを呼び出します。ここでは

 string url = "https://graph.microsoft.com/v1.0/me/onenote/notebooks/"; 
     // string url = "https://www.onenote.com/api/v1.0/me/notes/notebooks/"; 

     string tempResponse = await CreateSimpleNotebook("EMRTest2", url); 

は応答です:

{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: 

{ クライアント要求-ID:acacd4f5-8738-4c46-8150 -17aa23413eb5 request-id:acacd4f5-8738-4c46-8150-17aa23413eb5 転送エンコード:チャンク x-ms-ags-diagnostic:{"Serve 「SlotB」、「Ring」:「NA」、「ScaleUnit」:「002」、「Host」:「AGSFE_IN_10」、「ADSiteName」:「rInfo」:{"DataCenter" "SAN"}} 期間:772.4124 のCache-Control:プライベート 日:日、2017年11月19日午前20時59分10秒GMT のContent-Type:アプリケーション/ JSON }}

答えて

1
  1. あなたがコンテンツを使用する必要があります-Type JSON
  2. あなたが探しているプロパティの名前は、「名前」、それはSTRを追加してJSONを作り上げ、さらに

「のdisplayName」ではありません私は、NewtonSoft JSON.NETのようなJSONライブラリを使うことをお勧めします。

+0

「displayName」は問題を修正しました。私は、Content-Type JSONの変更がどこに行われるべきかわかりません。 –

+0

リクエストのHTTPヘッダーです。 –

関連する問題