Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Create новое назначение.
Только преподаватели в классе могут создавать задания. Задания начинаются в состоянии черновика, что означает, что учащиеся не смогут увидеть задание, пока оно не будет опубликовано.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
❌ |
❌ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
EduAssignments.ReadWriteBasic |
EduAssignments.ReadWrite |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Для приложений |
Не поддерживается. |
Не поддерживается. |
HTTP-запрос
POST /education/classes/{class-id}/assignments
Текст запроса
В тексте запроса укажите представление объекта educationAssignment в формате JSON.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 201 Created
и объект educationAssignment в теле отклика.
Пример
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/education/classes/72a7baec-c3e9-4213-a850-f62de0adad5f/assignments
Content-type: application/json
{
"dueDateTime": "2022-09-16T00:00:00Z",
"displayName": "Reading test 09.14 Beta",
"instructions": {
"contentType": "text",
"content": "Read chapter 4"
},
"grading": {
"@odata.type": "#microsoft.graph.educationAssignmentPointsGradeType",
"maxPoints": 50
},
"assignTo": {
"@odata.type": "#microsoft.graph.educationAssignmentClassRecipient"
},
"status": "draft",
"allowStudentsToAddResourcesToSubmission": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new EducationAssignment
{
DueDateTime = DateTimeOffset.Parse("2022-09-16T00:00:00Z"),
DisplayName = "Reading test 09.14 Beta",
Instructions = new EducationItemBody
{
ContentType = BodyType.Text,
Content = "Read chapter 4",
},
Grading = new EducationAssignmentPointsGradeType
{
OdataType = "#microsoft.graph.educationAssignmentPointsGradeType",
MaxPoints = 50f,
},
AssignTo = new EducationAssignmentClassRecipient
{
OdataType = "#microsoft.graph.educationAssignmentClassRecipient",
},
Status = EducationAssignmentStatus.Draft,
AllowStudentsToAddResourcesToSubmission = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Education.Classes["{educationClass-id}"].Assignments.PostAsync(requestBody);
mgc-beta education classes assignments create --education-class-id {educationClass-id} --body '{\
"dueDateTime": "2022-09-16T00:00:00Z",\
"displayName": "Reading test 09.14 Beta",\
"instructions": {\
"contentType": "text",\
"content": "Read chapter 4"\
},\
"grading": {\
"@odata.type": "#microsoft.graph.educationAssignmentPointsGradeType",\
"maxPoints": 50\
},\
"assignTo": {\
"@odata.type": "#microsoft.graph.educationAssignmentClassRecipient"\
},\
"status": "draft",\
"allowStudentsToAddResourcesToSubmission": true\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewEducationAssignment()
dueDateTime , err := time.Parse(time.RFC3339, "2022-09-16T00:00:00Z")
requestBody.SetDueDateTime(&dueDateTime)
displayName := "Reading test 09.14 Beta"
requestBody.SetDisplayName(&displayName)
instructions := graphmodels.NewEducationItemBody()
contentType := graphmodels.TEXT_BODYTYPE
instructions.SetContentType(&contentType)
content := "Read chapter 4"
instructions.SetContent(&content)
requestBody.SetInstructions(instructions)
grading := graphmodels.NewEducationAssignmentPointsGradeType()
maxPoints := float32(50)
grading.SetMaxPoints(&maxPoints)
requestBody.SetGrading(grading)
assignTo := graphmodels.NewEducationAssignmentClassRecipient()
requestBody.SetAssignTo(assignTo)
status := graphmodels.DRAFT_EDUCATIONASSIGNMENTSTATUS
requestBody.SetStatus(&status)
allowStudentsToAddResourcesToSubmission := true
requestBody.SetAllowStudentsToAddResourcesToSubmission(&allowStudentsToAddResourcesToSubmission)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
assignments, err := graphClient.Education().Classes().ByEducationClassId("educationClass-id").Assignments().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
EducationAssignment educationAssignment = new EducationAssignment();
OffsetDateTime dueDateTime = OffsetDateTime.parse("2022-09-16T00:00:00Z");
educationAssignment.setDueDateTime(dueDateTime);
educationAssignment.setDisplayName("Reading test 09.14 Beta");
EducationItemBody instructions = new EducationItemBody();
instructions.setContentType(BodyType.Text);
instructions.setContent("Read chapter 4");
educationAssignment.setInstructions(instructions);
EducationAssignmentPointsGradeType grading = new EducationAssignmentPointsGradeType();
grading.setOdataType("#microsoft.graph.educationAssignmentPointsGradeType");
grading.setMaxPoints(50f);
educationAssignment.setGrading(grading);
EducationAssignmentClassRecipient assignTo = new EducationAssignmentClassRecipient();
assignTo.setOdataType("#microsoft.graph.educationAssignmentClassRecipient");
educationAssignment.setAssignTo(assignTo);
educationAssignment.setStatus(EducationAssignmentStatus.Draft);
educationAssignment.setAllowStudentsToAddResourcesToSubmission(true);
EducationAssignment result = graphClient.education().classes().byEducationClassId("{educationClass-id}").assignments().post(educationAssignment);
const options = {
authProvider,
};
const client = Client.init(options);
const educationAssignment = {
dueDateTime: '2022-09-16T00:00:00Z',
displayName: 'Reading test 09.14 Beta',
instructions: {
contentType: 'text',
content: 'Read chapter 4'
},
grading: {
'@odata.type': '#microsoft.graph.educationAssignmentPointsGradeType',
maxPoints: 50
},
assignTo: {
'@odata.type': '#microsoft.graph.educationAssignmentClassRecipient'
},
status: 'draft',
allowStudentsToAddResourcesToSubmission: true
};
await client.api('/education/classes/72a7baec-c3e9-4213-a850-f62de0adad5f/assignments')
.version('beta')
.post(educationAssignment);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\EducationAssignment;
use Microsoft\Graph\Beta\Generated\Models\EducationItemBody;
use Microsoft\Graph\Beta\Generated\Models\BodyType;
use Microsoft\Graph\Beta\Generated\Models\EducationAssignmentPointsGradeType;
use Microsoft\Graph\Beta\Generated\Models\EducationAssignmentClassRecipient;
use Microsoft\Graph\Beta\Generated\Models\EducationAssignmentStatus;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EducationAssignment();
$requestBody->setDueDateTime(new \DateTime('2022-09-16T00:00:00Z'));
$requestBody->setDisplayName('Reading test 09.14 Beta');
$instructions = new EducationItemBody();
$instructions->setContentType(new BodyType('text'));
$instructions->setContent('Read chapter 4');
$requestBody->setInstructions($instructions);
$grading = new EducationAssignmentPointsGradeType();
$grading->setOdataType('#microsoft.graph.educationAssignmentPointsGradeType');
$grading->setMaxPoints(50);
$requestBody->setGrading($grading);
$assignTo = new EducationAssignmentClassRecipient();
$assignTo->setOdataType('#microsoft.graph.educationAssignmentClassRecipient');
$requestBody->setAssignTo($assignTo);
$requestBody->setStatus(new EducationAssignmentStatus('draft'));
$requestBody->setAllowStudentsToAddResourcesToSubmission(true);
$result = $graphServiceClient->education()->classes()->byEducationClassId('educationClass-id')->assignments()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Education
$params = @{
dueDateTime = [System.DateTime]::Parse("2022-09-16T00:00:00Z")
displayName = "Reading test 09.14 Beta"
instructions = @{
contentType = "text"
content = "Read chapter 4"
}
grading = @{
"@odata.type" = "#microsoft.graph.educationAssignmentPointsGradeType"
maxPoints =
}
assignTo = @{
"@odata.type" = "#microsoft.graph.educationAssignmentClassRecipient"
}
status = "draft"
allowStudentsToAddResourcesToSubmission = $true
}
New-MgBetaEducationClassAssignment -EducationClassId $educationClassId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.education_assignment import EducationAssignment
from msgraph_beta.generated.models.education_item_body import EducationItemBody
from msgraph_beta.generated.models.body_type import BodyType
from msgraph_beta.generated.models.education_assignment_points_grade_type import EducationAssignmentPointsGradeType
from msgraph_beta.generated.models.education_assignment_class_recipient import EducationAssignmentClassRecipient
from msgraph_beta.generated.models.education_assignment_status import EducationAssignmentStatus
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EducationAssignment(
due_date_time = "2022-09-16T00:00:00Z",
display_name = "Reading test 09.14 Beta",
instructions = EducationItemBody(
content_type = BodyType.Text,
content = "Read chapter 4",
),
grading = EducationAssignmentPointsGradeType(
odata_type = "#microsoft.graph.educationAssignmentPointsGradeType",
max_points = 50,
),
assign_to = EducationAssignmentClassRecipient(
odata_type = "#microsoft.graph.educationAssignmentClassRecipient",
),
status = EducationAssignmentStatus.Draft,
allow_students_to_add_resources_to_submission = True,
)
result = await graph_client.education.classes.by_education_class_id('educationClass-id').assignments.post(request_body)
В тексте запроса укажите представление объекта educationAssignment в формате JSON.
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#education/classes('f4a941ff-9da6-4707-ba5b-0eae93cad0b4')/assignments/$entity",
"classId": "f4a941ff-9da6-4707-ba5b-0eae93cad0b4",
"displayName": "Reading test 09.14 Beta",
"closeDateTime": null,
"dueDateTime": "2022-09-16T00:00:00Z",
"assignDateTime": null,
"assignedDateTime": null,
"allowLateSubmissions": true,
"resourcesFolderUrl": null,
"feedbackResourcesFolderUrl": null,
"createdDateTime": "2022-09-14T21:24:11.8578804Z",
"lastModifiedDateTime": "2022-09-14T21:24:11.8578831Z",
"allowStudentsToAddResourcesToSubmission": true,
"status": "draft",
"notificationChannelUrl": null,
"webUrl": "https://teams.microsoft.com/l/entity/66aeee93-507d-479a-a3ef-8f494af43945/classroom?context=%7B%22subEntityId%22%3A%22%7B%5C%22version%5C%22%3A%5C%221.0%5C%22,%5C%22config%5C%22%3A%7B%5C%22classes%5C%22%3A%5B%7B%5C%22id%5C%22%3A%5C%22f4a941ff-9da6-4707-ba5b-0eae93cad0b4%5C%22,%5C%22displayName%5C%22%3Anull,%5C%22assignmentIds%5C%22%3A%5B%5C%22b58c972d-585a-4ed8-8e0e-9c66e5506d26%5C%22%5D,%5C%22submissionId%5C%22%3Anull%7D%5D%7D,%5C%22action%5C%22%3A%5C%22navigate%5C%22,%5C%22view%5C%22%3A%5C%22assignment-viewer%5C%22%7D%22,%22channelId%22%3Anull%7D",
"addToCalendarAction": "none",
"addedStudentAction": "none",
"id": "b58c972d-585a-4ed8-8e0e-9c66e5506d26",
"instructions": {
"content": "Read chapter 4",
"contentType": "text"
},
"grading": {
"@odata.type": "#microsoft.graph.educationAssignmentPointsGradeType",
"maxPoints": 50
},
"assignTo": {
"@odata.type": "#microsoft.graph.educationAssignmentClassRecipient"
},
"createdBy": {
"application": null,
"device": null,
"user": {
"id": "f3a5344e-dbde-48b0-be24-b5b62a243836",
"displayName": null
}
},
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "f3a5344e-dbde-48b0-be24-b5b62a243836",
"displayName": null
}
}
}
Связанные материалы