Папка свойств в полезной нагрузке имеет значение, которое не соответствует схеме Graph Api - PullRequest
0 голосов
/ 03 декабря 2018

запрос API графа для создания папки на одном диске:

   POST /me/drive/root/children
   Content-Type: application/json

    {
      "name": "New Folder",
      "folder": { },
      "@microsoft.graph.conflictBehavior": "rename"
    }

, но я не понимаю, как передать "{}" в теле содержимого httprequest.

Мой код:

 var tt = "{ }";
var jsonData = $@"{{ ""name"": ""{txtValue}"",""folder"":""{tt}""}}";
var body = new StringContent(jsonData, Encoding.UTF8, 
"application/json"); 
apiRequest.Content = body;
apiRequest.Headers.Accept.Add(new 
MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await httpClient.SendAsync(apiRequest);
string d = response.Content.ReadAsStringAsync().Result.ToString();

, но выдает ошибку "" code ":" BadRequest "," message ":" Папка свойств в полезной нагрузке имеет значение, которое не соответствует схеме. ", "

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 03 декабря 2018

Есть ли какая-либо конкретная причина не использовать Microsoft Graph Client Library for .NET по этому вопросу?

В любом случае, в следующем примере показано, как создать новую папку на диске через HttpClient:

using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
    client.BaseAddress = new Uri("https://graph.microsoft.com");

    var folderPayload = new Dictionary<string, object>
    {
       ["name"] = "Test Folder",
       ["folder"] = new { },
       ["@microsoft.graph.conflictBehavior"] = "rename"
    };

   var requestContent = new StringContent(JsonConvert.SerializeObject(folderPayload));
   requestContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
   var response = await client.PostAsync($"/v1.0/me/drive/root/children", requestContent);
   var data = response.Content.ReadAsStringAsync().Result.ToString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...