Microsoft Graph Api — Create Education Assignment возвращает ошибку «20132»

#microsoft-graph-api #microsoft-graph-edu

#microsoft-graph-api #microsoft-graph-edu

Вопрос:

Я хочу создать определенный класс назначений.

В обозревателе графиков,

 https://graph.microsoft.com/beta/education/classes/{classId}/assignments
  

Этот запрос работает хорошо.

Но в моем коде C #,

 var assignInfo = new EducationAssignment
            {

                DisplayName = "test",
                
                DueDateTime = DateTimeOffset.Parse("2020-09-20T18:00:00Z"),
                Instructions = new EducationItemBody
                {
                    ContentType = BodyType.Html,
                    Content = "hi"
                },
                Status = EducationAssignmentStatus.Draft,
                AllowStudentsToAddResourcesToSubmission = true,
                
                AssignTo = new EducationAssignmentClassRecipient
                {

                },
                Grading = new EducationAssignmentPointsGradeType()
                {
                    MaxPoints = 100
                },
                CreatedDateTime = DateTimeOffset.Parse("2020-09-20T12:00:00Z"),
                AssignDateTime = DateTimeOffset.Parse("2020-09-20T13:00:00Z"),
                AssignedDateTime = DateTimeOffset.Parse("2020-09-20T13:00:00Z"),
                
                CloseDateTime = null,
                
                AllowLateSubmissions = true
                
            };

             await graphClient.Education.Classes[pClassId].Assignments
                .Request()
                
                .AddAsync(assignInfo);
  

Произошла ошибка:

 {"Code: 20132rnMessage: The content of the request is invalid. Common causes are an invalid Content-Type header or no content in the body.rnInner error:rntAdditionalData:rntdate: 2020-09-20T07:25:14rntrequest-id: d2181119-9116-4f1d-9ed4-d007e2e406d0rntclient-request-id: d2181119-9116-4f1d-9ed4-d007e2e406d0rnClientRequestId: d2181119-9116-4f1d-9ed4-d007e2e406d0rn"}
  

Почему это происходит? Я думал и пытался весь день.

Я пытался

  await graphClient.Education.Classes[pClassId].Assignments
                .Request()
                .Header("Content-Type", "application/json")
                .AddAsync(assignInfo);
  

Но произошла та же ошибка.

Если был запрошен только элемент displayname, результаты были такими же.

С разрешениями разобрались. EduAssignments.ReadWriteBasic, EduAssignments.ReadWrite.. etc и dll (пакет NuGet) также подготовлены в бета-версии.

Я ссылался на этот документ.

Я отчаянно нуждаюсь в помощи.. Спасибо.

Комментарии:

1. Был ли класс создан с помощью Teams или с помощью Graph?

Ответ №1:

добавление этого assignInfo.ODataType = null; устраняет проблему.

Комментарии:

1. Подумайте о том, чтобы добавить еще несколько объяснений, например, куда добавить этот код и как / почему он устраняет проблему.