Стандарты API LMS для интеграции надстроек классного журнала OneNote

Область применения: корпоративные записные книжки в Office 365

Этот документ предоставляет вызовы API, необходимые для OneNote для перечисления классов и назначений, установки присвоений, оценок загрузки и обновлений в любой LMS.

Все запросы должны быть аутентифицированы. Все запросы должны выполнятся посредством HTTPS.

Примечание

Мы рекомендуем реализовывать каждую LMS с кодом авторизации для потока в целях реализации oauth2. Это предотвратит неразбериху, связанную с вводом учетных данных пользователя, каждый раз по истечении времени действия маркера доступа.

Поиск и вывод списка классов

Выполнить GET запрос<Specify URL for retrieving list of classes>.

LMS возвращает массив классов JSON для текущего пользователя, прошедшего проверку подлинности.

У каждого класса должны быть следующие свойства:

Имя свойства Тип Описание
id строка Идентификатор для класса, уникальный при установке LMS
имя строка Удобочитаемое для человека название класса

Получение списка учащихся в классе

Выполнить GET запрос<Specify URL for retrieving list of students in a class>.

LMS должен возвращать массив JSON учащихся в классе.

Каждый учащийся должен обладать следующими свойствами:

Имя свойства Тип Описание
id строка Идентификатор для класса, уникальный при установке LMS
имя строка Удобочитаемое имя студента
адрес электронной почты строка Адрес электронной почты учащегося

Получение списка заданий для класса

Выполнить GET запрос<Specify URL for retrieving list of assignments for a class>.

LMS должен возвращать массив JSON заданий для класса.

Имя свойства Тип Описание
id строка Идентификатор для класса, уникальный при установке LMS
заголовок строка Заголовок задания
описание строка Описание задания
gradetypeid строка Идентификатор типа класса, уникальный на установке LMS
dueDate дата как строка (формат: 2016-12-25T00: 00: 00) Срок выполнения задания. LMS не будет хранить или использовать данные о времени.
url строка URL-адрес задания. Доступно только в поддерживаемых версиях LMS.


Необязательное имя свойства Тип Описание
gradetypeid строка Идентификатор типа класса, уникальный на установке LMS
мин. целое число минимальный балл, который может быть присвоен учащемуся
макс. целое число Максимальный балл, который может быть присвоен учащемуся
validgradevalues список Действительные значения оценок за это задание

Назначить задание классу

Выполнить POST запрос<Specify URL for setting an assignment to a class>.

Требуются следующие переменные формы, передаваемой методом POST:

Имя свойства Тип Описание
заголовок строка (максимальная длина: 280) Заголовок задания
dueDate дата как строка (формат: 2016-12-25T00: 00: 00) Срок выполнения задания
описание строка Описание задания


Необязательное имя свойства Тип Описание
gradetypeid строка Идентификатор типа класса, уникальный на установке LMS
мин. целое число минимальный балл, который может быть присвоен учащемуся
макс. целое число Максимальный балл, который может быть присвоен учащемуся
validgradevalues список Действительные значения оценок за это задание

LMS вернет объект JSON с единственным идентификатором свойства. Значение этого свойства будет идентификатором нового задания.

Получение списка оценок за задание

Выполнить GET запрос<Specify URL for retrieving grades for a given assignment>.

LMS должна вернуть массив JSON учащихся, получивших задание и их оценки/баллы.

Каждый сегмент JSON учащихся должен обладать следующими свойствами:

Имя свойства Тип Описание
id строка Идентификатор для класса, уникальный при установке LMS
адрес электронной почты строка Адрес электронной почты учащегося
С оценкой логическое значение Указывает, была ли предоставлена оценка учителем
obtainedMark целое число Дополнительная оценка, достигнутая учащимся (например, 85)
maxMark целое число Возможна дополнительная максимальная оценка (например, 100)
комментарии строка Дополнительная обратная связь с учеником (например, "Отличная работа")
оценка строка Дополнительный класс, присвоенный учащемуся (например, "")

Обратите внимание, что LMS может поддерживать сортировку из чисел, отличных от 100. В этом случае (maxMark не равно 100) OneNote может потребоваться преобразовать полученную оценку, если её невозможно отобразить в пользовательском интерфейсе OneNote.

Поставьте оценку учащемуся

Выполнить POST запрос<Specify URL for setting grade for a given student>.

Могут быть включены следующие переменные формы, передаваемой методом POST:

Имя свойства Тип Описание
id строка Идентификатор для ученика, руководство
источник строка Всегда устанавливайте значение " onenote"
obtainedMark целое число Оценка, полученная учеником
maxMark целое число Максимально возможная достижимая оценка
obtainedGrade строка Оценка или уровень, достигнутый учащимся (например: "")
комментарии строка Бесплатная текстовая обратная связь для учащегося

Получение типов оценок

Выполнить GET запрос<Specify URL for getting grade types>.

LMS должен возвращать массив JSON типа оценок. У каждого типа оценок должны быть следующие свойства:

Имя свойства Тип Описание
id строка Идентификатор типа класса, уникальный на установке LMS
gradeTypeCategory GradeTypeCategory Идентификатор типа класса, уникальный на установке LMS
макс. целое число Максимальный возможный балл
описание строка Отображает строку типа оценок

Получение определенного типа оценки

Выполнить GET запрос<Specify URL for getting grade type by id>.

LMS должен вернуть JSON одного типа оценок, который обладает следующими свойствами:

Имя свойства Тип Описание
id строка Идентификатор типа класса, уникальный на установке LMS
gradeTypeCategory GradeTypeCategory Идентификатор типа класса, уникальный на установке LMS
макс. целое число Максимальный возможный балл
описание строка Отображает строку типа оценок

Создание/удаление классов и удаление заданий

Они являются необязательными, но настоятельно рекомендуется иметь для тестирования интеграции. Команда Microsoft Class Notebook использует данные конечные критерии оценки для очистки данных.

enum GradeTypeCategory
{
        /// <summary>
        /// no grade type category.
        /// </summary>
        None,

        /// <summary>
        /// Numeric grade type category.
        /// </summary>
        Numeric,

        /// <summary>
        /// Percent grade type category.
        /// </summary>
        Percentage,

        /// <summary>
        /// Letter grade type category.
        /// </summary>
        Letters,
}

Необходимые условия тестовой среды

Ваша тестовая среда состоит из двух систем:

  • Тестовый клиент Office 365

    Это может быть любой клиент Office 365, к которому у вас есть доступ, и есть несколько учетных записей преподавателей и учащихся с действующими рабочими лицензиями.

    Демонстрационный клиент Office 365 клиента доступен для партнеров. Когда вы настраиваете эту демонстрационную версию клиента, вы можете выбрать индивидуальный экземпляр K-12 EDU, который будет заполнен данными преподавателей и учащихся, а также средствми учета для образовательных учреждений.–

  • Условия тестирования и учетные записи LMS

    Вам необходимо будет предоставить команде Class Notebook следующую информацию:

    • Базовый URL вашего LMS / SIS, на котором размещаются конечные точки API.
    • Идентификатор приложения (если у вас не поддерживается oauth2) –это уникальный идентификатор приложения, назначенный для надстройки журнала класса, позволяющий определять его, как допустимое приложение.
    • Ключ приложения (если у вас не поддерживается oauth2) — это секретный код приложения для данного идентификатора приложения.

Необходимые условия для маркетинговых данных

  • Изображение логотипа. У изображения не обязательно должно быть сверхвысокое разрешение. На самом деле размер наших текущих логотипов меньше 100 Кбайт, а максимальный размер в пикселях — 300 x 300.

  • Описание. Сообщение с описанием вашего предложения должно быть коротким, приблизительно 75 слов (лучше, если около 50).

  • Ссылка на ваш сайт. Предназначено для того, чтобы узнать больше о вашем предложении.

  • Изображение на кнопке. Должно быть 64 x 64 пикселя.

См. также