2017-11-19 4 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(); 
    } 

그리고 난 다음에 메소드 호출

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

{ 클라이언트 요청 ID : acacd4f5-8738-4c46-8150 여기

 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); 

는 반응이다 -17aa23413eb5 요청 ID : acacd4f5-8738-4c46-8150-17aa23413eb5 전송 인코딩 : 청크 x-ms-ags-diagnostic : { " rInfo ": {"DataCenter ":"South Central US ","Slice ","SliceB ","Ring ":"NA ","ScaleUnit ":"002 ","Host ":"AGSFE_IN_10 ","ADSiteName " "SAN"}} 기간 : 772.4124 캐시 제어 : 개인 날짜 : 2017년 11월 19일 (일) 그리니치 표준시 20시 59분 10초 콘텐츠 형식 : 응용 프로그램/JSON }}

것은

답변

1
  1. 에게 당신은 콘텐츠를 사용한다 - 유형 JSON
  2. 당신이 찾고있는 속성의 이름은 "이름"는 STR을 추가하여 JSON 공예, 또한

"나 displayName"입니다하지 않습니다 ing은 모범 사례가 아닙니다. 저는 NewtonSoft JSON.NET과 같은 JSON 라이브러리를 사용할 것을 권장합니다.

+0

감사합니다. "displayName"문제가 해결되었습니다. Content-Type JSON 변경 사항을 어디에서 작성해야하는지 알 수 없습니다. –

+0

요청의 HTTP 헤더입니다. –

관련 문제