Интеграция приложения Teams с заданиями для образовательных учреждений

Образовательное сообщество имеет широкий набор инструментов и приложений, которые расширяют возможности для преподавателей и пользователей. Api Microsoft Graph можно использовать, чтобы сделать решение доступным для преподавателей и учащихся путем интеграции приложения с заданиями в Teams.

Примечание: Вы можете использовать Обозреватель Graph для тестирования API, упомянутых в этой статье.

Создание приложения Microsoft Teams

Microsoft Teams предлагает коллекцию приложений, предоставляемых Корпорацией Майкрософт или внешними службами. Приложения могут быть вкладками, ботами, расширениями сообщений или ресурсами.

Чтобы приступить к созданию собственного приложения Teams, см. статью Создание приложения Teams.

Рекомендации по интеграции приложения Teams с назначениями см. в примере приложений назначения.

Дополнительные сведения о требованиях для интеграции с потоком назначений в Teams см. в разделе Требования к интеграции приложений назначения.

Запрос на включение приложений Teams для потоков назначения

После создания и публикации приложения Teams, прежде чем вы сможете интегрироваться с назначениями, приложение должно быть включено. Чтобы запросить включение приложения, заполните эту форму.

Добавление приложения Teams в назначение

Приложение Teams можно добавить в качестве ресурса назначения .

  1. Получите идентификатор приложения с помощью этой конечной точки. Не предоставляйте текст запроса.
GET /appCatalogs/teamsApps?$filter=displayName eq 'APPLICATION NAME'
  1. Подключите приложение Teams к заданию.

Запрос

Ниже показан пример запроса. Используйте идентификатор из предыдущего запроса для значения свойства appId .

POST https://graph.microsoft.com/beta/education/classes/72a7baec-c3e9-4213-a850-f62de0adad5f/assignments/1618dfb0-3ff2-4edf-8d5c-b8f81df00e80/resources
Content-type: application/json

{
    "distributeForStudentWork": false,
    "resource": {
        "contentUrl": "https://sd-prod-us-web-galileo.azurewebsites.net/assets/content.html",
        "appId": "7caaa66b-34b0-4c15-a65d-dba6edf0c8fd",
        "appIconUrl": "https://statics.teams.cdn.office.net/evergreen-assets/ThirdPartyApps/7caaa66b-34b0-4c15-a65d-dba6edf0c8fd_largeImage.png?v=1.3.0",
        "displayName": "School Day",
        "websiteUrl": "https://sd-prod-us-web-galileo.azurewebsites.net/",
        "@odata.type": "#microsoft.graph.educationTeamsAppResource"
    }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#education/classes('72a7baec-c3e9-4213-a850-f62de0adad5f')/assignments('1618dfb0-3ff2-4edf-8d5c-b8f81df00e80')/resources/$entity",
    "distributeForStudentWork": false,
    "status": "published",
    "id": "de220fbc-865a-4c8e-a013-fc5dabe0f817",
    "resource": {
        "@odata.type": "#microsoft.graph.educationTeamsAppResource",
        "displayName": "School Day",
        "createdDateTime": "2022-12-21T02:17:01.9365101Z",
        "lastModifiedDateTime": "2022-12-21T02:17:01.9365342Z",
        "appId": "7caaa66b-34b0-4c15-a65d-dba6edf0c8fd",
        "appIconUrl": "https://statics.teams.cdn.office.net/evergreen-assets/ThirdPartyApps/7caaa66b-34b0-4c15-a65d-dba6edf0c8fd_largeImage.png?v=1.3.0",
        "contentUrl": "https://sd-prod-us-web-galileo.azurewebsites.net/assets/content.html",
        "websiteUrl": "https://sd-prod-us-web-galileo.azurewebsites.net/",
        "createdBy": {
            "application": null,
            "device": null,
            "user": {
                "id": "cb1a4af3-0aba-4679-aa12-9f99bab0b61a",
                "displayName": null
            }
        },
        "lastModifiedBy": {
            "application": null,
            "device": null,
            "user": {
                "id": "cb1a4af3-0aba-4679-aa12-9f99bab0b61a",
                "displayName": null
            }
        }
    }
}
  1. Приложение Teams теперь добавлено в задание и доступно для запуска учащимся.

Пример интеграции приложения Teams с назначением см. в разделе Пример 7. Создание educationTeamsAppResource.

Разрешения

API назначений поддерживает делегированные разрешения (для каждого пользователя) и разрешения только для приложения (для каждого приложения). Для удобства использования учащимся и преподавателем предпочтительнее использовать разрешения только для приложений. Это позволяет утверждать приложение только для получения данных.