Невозможно создать назначение класса, когда EducationClass создан с помощью Graph

Я создал 2 educationClass:

  • EducationClass с описанием Test100 создан с помощью Microsoft Graph
  • EducationClass с описанием Test, созданным приложением Teams.

Educationclass Test100 создан с использованием POST на https://graph.microsoft.com/V1.0/education/classes со следующим объектом JSON

{
  "displayName": "Test100",
  "description": "Test100",
  "externalId": "3099",
  "mailNickName": "Test100-3099"
}

Учителя добавляются с помощью POST в
https://graph.microsoft.com/V1.0/education/classes/id-education-class/teachers/$ref со следующим объектом JSON

{
  "@odata.id": "https://graph.microsoft.com/V1.0/education/users/teacher-ID"
}

Члены добавляются с помощью POST в
https://graph.microsoft.com/V1.0/education/classes/id-education-class/teachers/$ref со следующим объектом JSON

{
  "@odata.id": "https://graph.microsoft.com/V1.0/education/users/ID-Member"
}

Когда я хочу назначить назначение в приложении "Команды", оно отлично работает с EducationClass, созданным с помощью команд, но не для класса, созданного с помощью Graph.

Мне кажется, что-то не хватает в свойствах группы для EducationClass, созданного Graph.

Ответ от GET GROUP для класса, созданного API:

{
  "@odata.context": "https://graph.microsoft.com/V1.0/$metadata#groups/$entity",
  "id": "cd5a64f4-8784-4356-8c04-31deb1aa6849",
  "deletedDateTime": null,
  "classification": null,
  "createdDateTime": "2018-08-06T08:36:28Z",
  "creationOptions": [],
  "description": "Test100",
  "displayName": "Test100",
  "groupTypes": ["Unified"],
  "mail": "Test100-3099@wisad.be",
  "mailEnabled": true,
  "mailNickname": "Test100-3099",
  "onPremisesLastSyncDateTime": null,
  "onPremisesProvisioningErrors": [],
  "onPremisesSecurityIdentifier": null,
  "onPremisesSyncEnabled": null,
  "preferredDataLocation": null,
  "proxyAddresses": ["smtp:Test100-3099@mydomein", "SMTP:Test100-3099@mydomein"],
  "renewedDateTime": "2018-08-06T08:36:28Z",
  "resourceBehaviorOptions": [],
  "resourceProvisioningOptions": ["Team"],
  "securityEnabled": false,
  "visibility": "HiddenMembership",
  "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SectionId": "3099",
  "extension_fe2174665583431c953114ff7268b7b3_Education_CreatedByUserId": "myuserid",
  "extension_fe2174665583431c953114ff7268b7b3_Education_CreatedByAppId": "MyAppID",
  "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "Section"
}

Ответ от GET GROUP для класса, созданного в командах:

{
  "@odata.context": "https://graph.microsoft.com/V1.0/$metadata#groups/$entity",
  "id": "e971cfd4-dc4c-4321-ae51-4d216557bec8",
  "deletedDateTime": null,
  "classification": null,
  "createdDateTime": "2018-08-06T11:56:52Z",
  "creationOptions": ["classAssignments", "ExchangeProvisioningFlags:2509"],
  "description": "Test",
  "displayName": "Test",
  "groupTypes": ["Unified"],
  "mail": "Test92@mydomain",
  "mailEnabled": true,
  "mailNickname": "Test92",
  "onPremisesLastSyncDateTime": null,
  "onPremisesProvisioningErrors": [],
  "onPremisesSecurityIdentifier": null,
  "onPremisesSyncEnabled": null,
  "preferredDataLocation": null,
  "proxyAddresses": ["smtp:Test92@mydomein.be", "SMTP:Test92@mydomain.be"],
  "renewedDateTime": "2018-08-06T11:56:52Z",
  "resourceBehaviorOptions": [
    "HideGroupInOutlook",
    "WelcomeEmailDisabled",
    "ConnectorsDisabled",
    "SubscribeNewGroupMembers"
  ],
  "resourceProvisioningOptions": [],
  "securityEnabled": false,
  "visibility": "HiddenMembership",
  "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "Section"
}

Обратите внимание, что creationOptions а также resourceBehaviorOptions из двух групп разные.

Когда я пытаюсь добавить новое назначение в учебные классы, созданные с помощью API GRAPH, я получаю следующее сообщение: "Учебный класс настраивается"

2 ответа

Решение

Необходимо отправить срок начала и окончания срока.

"term":{  
      "displayName":"Term2",
      "externalID":"2",
      "startDate":"2017-09-01",
      "endDate":"2019-08-31"
   }

Ваши наблюдения были на месте. Назначения Api (в настоящее время в Graph Beta) не считывают все возможные свойства, которые могут обозначать тип класса. (creationOptions и другое свойство расширения, которое может быть помечено для обозначения группы, является типом класса. От того, какое свойство будет помечено, зависит, когда и как была создана группа).

Мы работаем над исправлением и исправляем его на этой неделе. Спасибо

Другие вопросы по тегам