2

我创建了 2 educationClass

  • 通过 Microsoft Graph 创建的带有描述Test100的educationClass
  • 具有Teams 应用创建 的描述Test的 educationClass。

教育类 Test100是使用POSThttps://graph.microsoft.com/V1.0/education/classes以下 JSON 对象 创建的

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

教师使用以下 JSON 对象 添加POST
https://graph.microsoft.com/V1.0/education/classes/ID-Education-Class/teachers/$ref

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

使用以下 JSON 对象将 成员添加POST
https://graph.microsoft.com/V1.0/education/classes/ID-Education-Class/members/$ref

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

当我想在 Teams 应用程序中分配作业时,它适用于通过 Teams 创建的educationClass,但不适用于通过Graph 创建的类。

对我来说,Graph 创建的 educationClass 的 Group 属性中似乎缺少一些东西。

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来自Teams 中创建的类的响应:

{
  "@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"
}

请注意,两个组的 和 是不同的 creationOptionsresourceBehaviorOptions

当我尝试向 GRAPH API 创建的教育课程添加新作业时,我收到以下消息:“正在设置教育课程”

在此处输入图像描述

4

2 回答 2

2

有必要发送学期开始日期和结束日期。

"term":{  
      "displayName":"Term2",
      "externalID":"2",
      "startDate":"2017-09-01",
      "endDate":"2019-08-31"
   }
于 2018-08-24T09:09:57.653 回答
2

你的观察是正确的。分配 Api(目前处于 Graph Beta 中)没有读取所有可能表示类类型的属性。(creationOptions 和另一个可以标记以表示组的扩展属性是类类型。确切地标记哪个属性取决于组的创建时间和创建方式)。

我们正在努力修复并在本周对其进行修补。谢谢

于 2018-08-31T20:59:04.027 回答