Obtener vínculos a asignaciones y envíos

Las instituciones educativas tienen herramientas personalizadas para que los alumnos y los usuarios vean detalles sobre las asignaciones o las completen. Puede usar las API de educación de Microsoft Graph para obtener vínculos profundos a asignaciones y envíos para usarlos en herramientas personalizadas. Para poder obtener vínculos a asignaciones y envíos, debe obtener la información de clase y miembro pertinente.

Nota: Puede usar el Explorador de Graph para probar las API de educación mencionadas en este artículo.

Obtener información de clase y miembro

Todas las asignaciones y la información de calificación forman parte de un equipo de Microsoft Teams. Puede obtener información sobre clases, miembros y roles (alumno o profesor) en un equipo mediante las siguientes API de Teams:

Después de obtener la información de clase y miembro pertinente, puede obtener la información de asignación y calificación que necesita.

La propiedad webUrl de asignación devuelve el vínculo profundo autenticado a las asignaciones seleccionadas. Si el usuario está dentro de Teams, las asignaciones se abrirán directamente con esta dirección URL de vínculo profundo.

En el ejemplo siguiente se describe cómo obtener la dirección URL de vínculo profundo para una asignación determinada.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/v1.0/education/classes/f4a941ff-9da6-4707-ba5b-0eae93cad0b4/assignments/3c77de7f-539b-49e1-9c96-1274f2f0ee3b

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json
Content-length: 279

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#education/classes('f4a941ff-9da6-4707-ba5b-0eae93cad0b4')/assignments/$entity",
    "classId": "f4a941ff-9da6-4707-ba5b-0eae93cad0b4",
    "displayName": "07.30 SubmissionsUploadResource Word2",
    "closeDateTime": null,
    "dueDateTime": "2021-08-01T06:59:00Z",
    "assignDateTime": null,
    "assignedDateTime": "2021-07-30T16:01:32.5518042Z",
    "allowLateSubmissions": true,
    "status": "assigned",
    "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%2c%5c%22config%5c%22%3a%7b%5c%22classes%5c%22%3a%5b%7b%5c%22id%52navigate%5c%22%2c%5c%22view%5c%22%3a%5c%22assignment-viewer%5c%22%7d%22%2c%22channelId%22%3anull%7d",
    "addedStudentAction": "none",
    "id": "3c77de7f-539b-49e1-9c96-1274f2f0ee3b",
    "instructions": {
        "content": "<div style=\"font-family: inherit; font-size: inherit; color: inherit;\">upload a word document</div>",
        "contentType": "html"
    },
    "grading": {
        "@odata.type": "#microsoft.graph.educationAssignmentPointsGradeType",
        "maxPoints": 10
    },
    "lastModifiedBy": {
        "application": null,
        "device": null,
        "user": {
            "id": "f3a5344e-dbde-48b0-be24-b5b62a243836",
            "displayName": null
        }
    }
}

La propiedad webUrl de la respuesta proporciona la dirección URL de vínculo profundo para la asignación.

La propiedad webUrl de envío devuelve un vínculo profundo autenticado a un envío. Actualmente, la propiedad webUrl para envíos solo está disponible en el punto de conexión beta.

En el ejemplo siguiente se describe cómo obtener la dirección URL de vínculo profundo para un envío determinado.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

Get https://graph.microsoft.com/beta/education/classes/2003c52e-807a-4186-9b49-60c573095461/assignments/8f5311bb-ee1e-4bf0-9827-3fd8c57bdde2/submissions/57ef8ee2-4755-4351-66d0-8e37192870a5

Respuesta

En el ejemplo siguiente se muestra el resposnse.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#education/classes('2003c52e-807a-4186-9b49-60c573095461')/assignments('8f5311bb-ee1e-4bf0-9827-3fd8c57bdde2')/submissions/$entity",
    "status": "working",
    "submittedDateTime": null,
    "unsubmittedDateTime": null,
    "returnedDateTime": null,
    "reassignedDateTime": null,
    "resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!IDwAYNkmlUucm64fxXxnzYYTuh2luKRDvUVGQBLOmvYqism21WrdQ4Aijx5lDIKE/items/0173CEVEPVMJCDTMO5RRH256O6T5NIB2CF",
    "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%22action%5C%22%3A%5C%22navigate%5C%22,%5C%22view%5C%22%3A%5C%22speed-grader%5C%22%7D%22,%22channelId%22%3Anull%7D",
    "id": "57ef8ee2-4755-4351-66d0-8e37192870a5",
    "recipient": {
        "@odata.type": "#microsoft.graph.educationSubmissionIndividualRecipient",
        "userId": "51cf5a99-d234-4e43-96de-cd65df14bfa1"
    },
    "submittedBy": {
        "application": null,
        "device": null,
        "user": {
            "id": "51cf5a99-d234-4e43-96de-cd65df14bfa1",
            "displayName": null
        }
    },
    "reassignedBy": {
        "application": null,
        "device": null,
        "user": {
            "id": null,
            "displayName": null
        }
    }
}

La propiedad webUrl de la respuesta proporciona la dirección URL de vínculo profundo para el envío.

Permissions

Las API de asignaciones admiten permisos delegados y de aplicación. Se recomienda usar permisos de aplicación porque permite que la aplicación solo recupere datos.