Создание learningCourseActivity
Статья
12/22/2023
Участники: 7
Обратная связь
В этой статье
Пространство имен: microsoft.graph
Создайте объект learningCourseActivity .
Учебный курс может быть одним из двух типов:
Используйте этот метод для создания любого типа действия.
Примечание. Поставщик может управлять действиями курса обучения только в том случае , если для isCourseAcitvitySyncEnabled задано значение true
. Чтобы обновить значение, используйте метод Update learningProvider .
Этот API доступен в следующих национальных облачных развертываниях .
Глобальная служба
Правительство США L4
Правительство США L5 (DOD)
Китай управляется 21Vianet
✅
❌
❌
❌
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению . Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений . Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям .
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
Не поддерживается.
Не поддерживается.
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Приложение
LearningAssignedCourse.ReadWrite.All
LearningSelfInitiatedCourse.ReadWrite.All
HTTP-запрос
POST /employeeExperience/learningProviders/{registrationId}/learningCourseActivities
Текст запроса
В тексте @odata.type запроса укажите тип создаваемого ресурса learningCourseActivity (learningAssignment или learningSelfInitiated ) и включите свойства этого типа, как указано в следующей таблице.
Свойство
Тип
Описание
assignedDateTime
DateTimeOffset
Назначенная дата для действия курса. Необязательный параметр.
assignmentType
assignmentType
Тип назначения для действия курса. Возможные значения: required
, recommended
, unknownFutureValue
. Обязательно.
assignerUserId
String
Microsoft Entra ID назначателя. Необязательный параметр.
completedDateTime
DateTimeOffset
Дата и время завершения назначения. Необязательный параметр.
completionPercentage
Int32
Процент пройденного пользователем курса. Необязательный параметр. Если задано значение, оно должно находиться между 0
и 100
(включительно).
dueDateTime
DateTimeOffset
Дата выполнения действия курса. Необязательный параметр.
externalCourseActivityId
String
Идентификатор действия курса, созданный поставщиком. Необязательный параметр.
id
String
Созданный идентификатор для запроса, который можно использовать для дальнейшего взаимодействия с API-интерфейсами действий курса.
learningContentId
String
Идентификатор учебного содержимого, созданного в Viva Learning. Обязательно.
learningProviderId
String
Идентификатор регистрации поставщика. Обязательно.
learnerUserId
String
Microsoft Entra ID учащегося, которому назначено действие. Обязательно.
notes
String
Заметки о действии курса. Необязательный параметр.
registrationId
String
Идентификатор поставщика. Идентификатор создается при регистрации поставщика в Viva Learning. Обязательно.
startedDateTime
DateTimeOffset
Дата и время, когда учащийся начал самостоятельно инициированный курс. Необязательный параметр.
status
courseStatus
Состояние действия курса. Возможные значения: notStarted
, inProgress
, completed
. Обязательно.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 201 Created
и объект learningCourseActivity типа learningAssignment или learningSelfInitiated в тексте ответа.
В случае неудачи этот метод возвращает один из приведенных ниже ответов:
Сценарий
Код HTTP
Код
Сообщение
Сведения
Запрещено
403
Запрещено
У вас нет достаточного плана обслуживания для этого запроса.
Недопустимый запрос
400
badRequest
Этот поставщик не включен для данного клиента.
Недопустимый запрос
400
badRequest
Возникла проблема с вашим запросом. Убедитесь, что введенный идентификатор регистрации действителен или зарегистрирован для вашего клиента.
Внутренняя ошибка сервера.
500
internalServerError
Внутренняя ошибка сервера.
Регулирование запроса
429
tooManyRequests
{"code": "tooManyRequests", "message": "Повторите попытку после {noOfMinutes} minutes"}.
Служба недоступна
503
serviceUnavailable
{"code": "serviceUnavailable","message": "Повторите попытку после {noOfMinutes} minutes"}.
Сбой проверки нескольких полей
400
badRequest
badRequest
{"code": "badRequest","message": "Поле ввода {fieldName}не должно быть пустым"}, {"code": "badRequest", "message": "Поле ввода {fieldName} требуется"}, {"code": "badRequest", "message": "Поле ввода {fieldName}длина превышена, чем {expectedLength}"}.
Запрещено
403
Поставщик недействителен для создания действия курса для заданного содержимого обучения
Если параметр registrationId/learningProviderId не соответствует поставщику, с помощью которого создается learningContent.
Запрещено
403
Пользовательская лицензия недействительна для выполнения операции
Если у пользователя, для которого создается назначение, нет лицензии уровня "Премиум".
Примеры
Пример 1. Создание назначенного действия курса обучения
В следующем примере показано, как создать действие learningAssignment .
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/v1.0/employeeExperience/learningProviders/01e8f81b-3060-4dec-acf0-0389665a0a38/learningCourseActivities
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.learningAssignment",
"assignedDateTime": "2021-05-11T22:57:17+00:00",
"assignmentType": "required",
"assignerUserId": "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",
"completedDateTime": null,
"completionPercentage": 20,
"dueDateTime": {
"dateTime": "2022-09-22T16:05:00.0000000",
"timeZone": "UTC"
},
"externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
"learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
"learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",
"learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
"notes": {
"contentType": "text",
"content": "required assignment added for user"
},
"status": "notStarted"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new LearningAssignment
{
OdataType = "#microsoft.graph.learningAssignment",
AssignedDateTime = DateTimeOffset.Parse("2021-05-11T22:57:17+00:00"),
AssignmentType = AssignmentType.Required,
AssignerUserId = "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",
CompletedDateTime = null,
CompletionPercentage = 20,
DueDateTime = new DateTimeTimeZone
{
DateTime = "2022-09-22T16:05:00.0000000",
TimeZone = "UTC",
},
ExternalCourseActivityId = "12a2228a-e020-11ec-9d64-0242ac120002",
LearningContentId = "57baf9dc-e020-11ec-9d64-0242ac120002",
LearningProviderId = "01e8f81b-3060-4dec-acf0-0389665a0a38",
LearnerUserId = "7ba2228a-e020-11ec-9d64-0242ac120002",
Notes = new ItemBody
{
ContentType = BodyType.Text,
Content = "required assignment added for user",
},
Status = CourseStatus.NotStarted,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.EmployeeExperience.LearningProviders["{learningProvider-id}"].LearningCourseActivities.PostAsync(requestBody);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
mgc employee-experience learning-providers learning-course-activities create --learning-provider-id {learningProvider-id} --body '{\
"@odata.type": "#microsoft.graph.learningAssignment",\
"assignedDateTime": "2021-05-11T22:57:17+00:00",\
"assignmentType": "required",\
"assignerUserId": "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",\
"completedDateTime": null,\
"completionPercentage": 20,\
"dueDateTime": {\
"dateTime": "2022-09-22T16:05:00.0000000",\
"timeZone": "UTC"\
},\
"externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",\
"learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",\
"learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",\
"learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",\
"notes": {\
"contentType": "text",\
"content": "required assignment added for user"\
},\
"status": "notStarted"\
}\
'
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewLearningCourseActivity()
assignedDateTime , err := time.Parse(time.RFC3339, "2021-05-11T22:57:17+00:00")
requestBody.SetAssignedDateTime(&assignedDateTime)
assignmentType := graphmodels.REQUIRED_ASSIGNMENTTYPE
requestBody.SetAssignmentType(&assignmentType)
assignerUserId := "cea1684d-57dc-438d-a9d1-e666ec1a7f3d"
requestBody.SetAssignerUserId(&assignerUserId)
completedDateTime := null
requestBody.SetCompletedDateTime(&completedDateTime)
completionPercentage := int32(20)
requestBody.SetCompletionPercentage(&completionPercentage)
dueDateTime := graphmodels.NewDateTimeTimeZone()
dateTime := "2022-09-22T16:05:00.0000000"
dueDateTime.SetDateTime(&dateTime)
timeZone := "UTC"
dueDateTime.SetTimeZone(&timeZone)
requestBody.SetDueDateTime(dueDateTime)
externalCourseActivityId := "12a2228a-e020-11ec-9d64-0242ac120002"
requestBody.SetExternalCourseActivityId(&externalCourseActivityId)
learningContentId := "57baf9dc-e020-11ec-9d64-0242ac120002"
requestBody.SetLearningContentId(&learningContentId)
learningProviderId := "01e8f81b-3060-4dec-acf0-0389665a0a38"
requestBody.SetLearningProviderId(&learningProviderId)
learnerUserId := "7ba2228a-e020-11ec-9d64-0242ac120002"
requestBody.SetLearnerUserId(&learnerUserId)
notes := graphmodels.NewItemBody()
contentType := graphmodels.TEXT_BODYTYPE
notes.SetContentType(&contentType)
content := "required assignment added for user"
notes.SetContent(&content)
requestBody.SetNotes(notes)
status := graphmodels.NOTSTARTED_COURSESTATUS
requestBody.SetStatus(&status)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
learningCourseActivities, err := graphClient.EmployeeExperience().LearningProviders().ByLearningProviderId("learningProvider-id").LearningCourseActivities().Post(context.Background(), requestBody, nil)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
LearningAssignment learningCourseActivity = new LearningAssignment();
learningCourseActivity.setOdataType("#microsoft.graph.learningAssignment");
OffsetDateTime assignedDateTime = OffsetDateTime.parse("2021-05-11T22:57:17+00:00");
learningCourseActivity.setAssignedDateTime(assignedDateTime);
learningCourseActivity.setAssignmentType(AssignmentType.Required);
learningCourseActivity.setAssignerUserId("cea1684d-57dc-438d-a9d1-e666ec1a7f3d");
learningCourseActivity.setCompletedDateTime(null);
learningCourseActivity.setCompletionPercentage(20);
DateTimeTimeZone dueDateTime = new DateTimeTimeZone();
dueDateTime.setDateTime("2022-09-22T16:05:00.0000000");
dueDateTime.setTimeZone("UTC");
learningCourseActivity.setDueDateTime(dueDateTime);
learningCourseActivity.setExternalCourseActivityId("12a2228a-e020-11ec-9d64-0242ac120002");
learningCourseActivity.setLearningContentId("57baf9dc-e020-11ec-9d64-0242ac120002");
learningCourseActivity.setLearningProviderId("01e8f81b-3060-4dec-acf0-0389665a0a38");
learningCourseActivity.setLearnerUserId("7ba2228a-e020-11ec-9d64-0242ac120002");
ItemBody notes = new ItemBody();
notes.setContentType(BodyType.Text);
notes.setContent("required assignment added for user");
learningCourseActivity.setNotes(notes);
learningCourseActivity.setStatus(CourseStatus.NotStarted);
LearningCourseActivity result = graphClient.employeeExperience().learningProviders().byLearningProviderId("{learningProvider-id}").learningCourseActivities().post(learningCourseActivity);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
const options = {
authProvider,
};
const client = Client.init(options);
const learningCourseActivity = {
'@odata.type': '#microsoft.graph.learningAssignment',
assignedDateTime: '2021-05-11T22:57:17+00:00',
assignmentType: 'required',
assignerUserId: 'cea1684d-57dc-438d-a9d1-e666ec1a7f3d',
completedDateTime: null,
completionPercentage: 20,
dueDateTime: {
dateTime: '2022-09-22T16:05:00.0000000',
timeZone: 'UTC'
},
externalCourseActivityId: '12a2228a-e020-11ec-9d64-0242ac120002',
learningContentId: '57baf9dc-e020-11ec-9d64-0242ac120002',
learningProviderId: '01e8f81b-3060-4dec-acf0-0389665a0a38',
learnerUserId: '7ba2228a-e020-11ec-9d64-0242ac120002',
notes: {
contentType: 'text',
content: 'required assignment added for user'
},
status: 'notStarted'
};
await client.api('/employeeExperience/learningProviders/01e8f81b-3060-4dec-acf0-0389665a0a38/learningCourseActivities')
.post(learningCourseActivity);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\LearningAssignment;
use Microsoft\Graph\Generated\Models\DateTimeTimeZone;
use Microsoft\Graph\Generated\Models\ItemBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new LearningAssignment();
$requestBody->setOdataType('#microsoft.graph.learningAssignment');
$requestBody->setAssignedDateTime(new \DateTime('2021-05-11T22:57:17+00:00'));
$requestBody->setAssignmentType(new AssignmentType('required'));
$requestBody->setAssignerUserId('cea1684d-57dc-438d-a9d1-e666ec1a7f3d');
$requestBody->setCompletedDateTime(null);
$requestBody->setCompletionPercentage(20);
$dueDateTime = new DateTimeTimeZone();
$dueDateTime->setDateTime('2022-09-22T16:05:00.0000000');
$dueDateTime->setTimeZone('UTC');
$requestBody->setDueDateTime($dueDateTime);
$requestBody->setExternalCourseActivityId('12a2228a-e020-11ec-9d64-0242ac120002');
$requestBody->setLearningContentId('57baf9dc-e020-11ec-9d64-0242ac120002');
$requestBody->setLearningProviderId('01e8f81b-3060-4dec-acf0-0389665a0a38');
$requestBody->setLearnerUserId('7ba2228a-e020-11ec-9d64-0242ac120002');
$notes = new ItemBody();
$notes->setContentType(new BodyType('text'));
$notes->setContent('required assignment added for user');
$requestBody->setNotes($notes);
$requestBody->setStatus(new CourseStatus('notStarted'));
$result = $graphServiceClient->employeeExperience()->learningProviders()->byLearningProviderId('learningProvider-id')->learningCourseActivities()->post($requestBody)->wait();
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
from msgraph import GraphServiceClient
from msgraph.generated.models.learning_assignment import LearningAssignment
from msgraph.generated.models.date_time_time_zone import DateTimeTimeZone
from msgraph.generated.models.item_body import ItemBody
graph_client = GraphServiceClient(credentials, scopes)
request_body = LearningAssignment(
odata_type = "#microsoft.graph.learningAssignment",
assigned_date_time = "2021-05-11T22:57:17+00:00",
assignment_type = AssignmentType.Required,
assigner_user_id = "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",
completed_date_time = None,
completion_percentage = 20,
due_date_time = DateTimeTimeZone(
date_time = "2022-09-22T16:05:00.0000000",
time_zone = "UTC",
),
external_course_activity_id = "12a2228a-e020-11ec-9d64-0242ac120002",
learning_content_id = "57baf9dc-e020-11ec-9d64-0242ac120002",
learning_provider_id = "01e8f81b-3060-4dec-acf0-0389665a0a38",
learner_user_id = "7ba2228a-e020-11ec-9d64-0242ac120002",
notes = ItemBody(
content_type = BodyType.Text,
content = "required assignment added for user",
),
status = CourseStatus.NotStarted,
)
result = await graph_client.employee_experience.learning_providers.by_learning_provider_id('learningProvider-id').learning_course_activities.post(request_body)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
Отклик
Ниже показан пример отклика.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.learningAssignment",
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningCourseActivities('7ba2228a-e020-11ec-9d64-0242ac120002')$entity",
"assignedDateTime": "2021-05-11T22:57:17+00:00",
"assignmentType": "required",
"assignerUserId": "cea1684d-57dc-438d-a9d1-e666ec1a7f3d",
"completedDateTime": null,
"completionPercentage": 20,
"externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
"id": "7ba2228a-e020-11ec-9d64-0242ac120002:749c8786-99bb-4b3b-8d5d-586428f6aaa3",
"dueDateTime": {
"dateTime": "2022-09-22T16:05:00.0000000",
"timeZone": "UTC"
},
"learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
"learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",
"learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
"notes": {
"contentType": "text",
"content": "required assignment added for user"
},
"status": "notStarted"
}
Пример 2. Создание самостоятельно инициируемого действия курса обучения
В следующем примере создается действие learningSelfInitiated .
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/v1.0/employeeExperience/learningProviders/01e8f81b-3060-4dec-acf0-0389665a0a38/learningCourseActivities
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.learningSelfInitiatedCourse",
"completedDateTime": null,
"completionPercentage": 20,
"externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
"learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
"learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
"startedDateTime": "2021-05-21T22:57:17+00:00",
"status": "inProgress"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new LearningSelfInitiatedCourse
{
OdataType = "#microsoft.graph.learningSelfInitiatedCourse",
CompletedDateTime = null,
CompletionPercentage = 20,
ExternalCourseActivityId = "12a2228a-e020-11ec-9d64-0242ac120002",
LearningContentId = "57baf9dc-e020-11ec-9d64-0242ac120002",
LearnerUserId = "7ba2228a-e020-11ec-9d64-0242ac120002",
StartedDateTime = DateTimeOffset.Parse("2021-05-21T22:57:17+00:00"),
Status = CourseStatus.InProgress,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.EmployeeExperience.LearningProviders["{learningProvider-id}"].LearningCourseActivities.PostAsync(requestBody);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
mgc employee-experience learning-providers learning-course-activities create --learning-provider-id {learningProvider-id} --body '{\
"@odata.type": "#microsoft.graph.learningSelfInitiatedCourse",\
"completedDateTime": null,\
"completionPercentage": 20,\
"externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",\
"learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",\
"learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",\
"startedDateTime": "2021-05-21T22:57:17+00:00",\
"status": "inProgress"\
}\
'
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewLearningCourseActivity()
completedDateTime := null
requestBody.SetCompletedDateTime(&completedDateTime)
completionPercentage := int32(20)
requestBody.SetCompletionPercentage(&completionPercentage)
externalCourseActivityId := "12a2228a-e020-11ec-9d64-0242ac120002"
requestBody.SetExternalCourseActivityId(&externalCourseActivityId)
learningContentId := "57baf9dc-e020-11ec-9d64-0242ac120002"
requestBody.SetLearningContentId(&learningContentId)
learnerUserId := "7ba2228a-e020-11ec-9d64-0242ac120002"
requestBody.SetLearnerUserId(&learnerUserId)
startedDateTime , err := time.Parse(time.RFC3339, "2021-05-21T22:57:17+00:00")
requestBody.SetStartedDateTime(&startedDateTime)
status := graphmodels.INPROGRESS_COURSESTATUS
requestBody.SetStatus(&status)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
learningCourseActivities, err := graphClient.EmployeeExperience().LearningProviders().ByLearningProviderId("learningProvider-id").LearningCourseActivities().Post(context.Background(), requestBody, nil)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
LearningSelfInitiatedCourse learningCourseActivity = new LearningSelfInitiatedCourse();
learningCourseActivity.setOdataType("#microsoft.graph.learningSelfInitiatedCourse");
learningCourseActivity.setCompletedDateTime(null);
learningCourseActivity.setCompletionPercentage(20);
learningCourseActivity.setExternalCourseActivityId("12a2228a-e020-11ec-9d64-0242ac120002");
learningCourseActivity.setLearningContentId("57baf9dc-e020-11ec-9d64-0242ac120002");
learningCourseActivity.setLearnerUserId("7ba2228a-e020-11ec-9d64-0242ac120002");
OffsetDateTime startedDateTime = OffsetDateTime.parse("2021-05-21T22:57:17+00:00");
learningCourseActivity.setStartedDateTime(startedDateTime);
learningCourseActivity.setStatus(CourseStatus.InProgress);
LearningCourseActivity result = graphClient.employeeExperience().learningProviders().byLearningProviderId("{learningProvider-id}").learningCourseActivities().post(learningCourseActivity);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
const options = {
authProvider,
};
const client = Client.init(options);
const learningCourseActivity = {
'@odata.type': '#microsoft.graph.learningSelfInitiatedCourse',
completedDateTime: null,
completionPercentage: 20,
externalCourseActivityId: '12a2228a-e020-11ec-9d64-0242ac120002',
learningContentId: '57baf9dc-e020-11ec-9d64-0242ac120002',
learnerUserId: '7ba2228a-e020-11ec-9d64-0242ac120002',
startedDateTime: '2021-05-21T22:57:17+00:00',
status: 'inProgress'
};
await client.api('/employeeExperience/learningProviders/01e8f81b-3060-4dec-acf0-0389665a0a38/learningCourseActivities')
.post(learningCourseActivity);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\LearningSelfInitiatedCourse;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new LearningSelfInitiatedCourse();
$requestBody->setOdataType('#microsoft.graph.learningSelfInitiatedCourse');
$requestBody->setCompletedDateTime(null);
$requestBody->setCompletionPercentage(20);
$requestBody->setExternalCourseActivityId('12a2228a-e020-11ec-9d64-0242ac120002');
$requestBody->setLearningContentId('57baf9dc-e020-11ec-9d64-0242ac120002');
$requestBody->setLearnerUserId('7ba2228a-e020-11ec-9d64-0242ac120002');
$requestBody->setStartedDateTime(new \DateTime('2021-05-21T22:57:17+00:00'));
$requestBody->setStatus(new CourseStatus('inProgress'));
$result = $graphServiceClient->employeeExperience()->learningProviders()->byLearningProviderId('learningProvider-id')->learningCourseActivities()->post($requestBody)->wait();
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
from msgraph import GraphServiceClient
from msgraph.generated.models.learning_self_initiated_course import LearningSelfInitiatedCourse
graph_client = GraphServiceClient(credentials, scopes)
request_body = LearningSelfInitiatedCourse(
odata_type = "#microsoft.graph.learningSelfInitiatedCourse",
completed_date_time = None,
completion_percentage = 20,
external_course_activity_id = "12a2228a-e020-11ec-9d64-0242ac120002",
learning_content_id = "57baf9dc-e020-11ec-9d64-0242ac120002",
learner_user_id = "7ba2228a-e020-11ec-9d64-0242ac120002",
started_date_time = "2021-05-21T22:57:17+00:00",
status = CourseStatus.InProgress,
)
result = await graph_client.employee_experience.learning_providers.by_learning_provider_id('learningProvider-id').learning_course_activities.post(request_body)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider , см. в документации по SDK .
Отклик
Ниже приводится пример отклика.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.learningSelfInitiatedCourse",
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningCourseActivities('be2f4d76-e020-11ec-9d64-0242ac120002')$entity",
"completedDateTime": null,
"completionPercentage": 20,
"externalCourseActivityId": "12a2228a-e020-11ec-9d64-0242ac120002",
"id": "7ba2228a-e020-11ec-9d64-0242ac120002:749c8786-99bb-4b3b-8d5d-586428f6aaa3",
"learningContentId": "57baf9dc-e020-11ec-9d64-0242ac120002",
"learningProviderId": "01e8f81b-3060-4dec-acf0-0389665a0a38",
"learnerUserId": "7ba2228a-e020-11ec-9d64-0242ac120002",
"startedDateTime": "2021-05-21T22:57:17+00:00",
"status": "inProgress"
}