Compartilhar via


Carregar ficheiros para tarefas e submissões de educação com o Microsoft API do Graph

Os recursos são parte integrante das tarefas e submissões de educação. Os professores determinam os recursos a carregar para uma pasta de tarefas e os estudantes determinam os recursos a carregar para uma pasta de submissão.

Este artigo descreve como utilizar a API de educação no Microsoft Graph para carregar ficheiros para uma pasta de atribuição ou submissão.

Pré-requisitos

Antes de poder carregar ficheiros, configure uma pasta do SharePoint para a qual carregar os ficheiros para uma determinada tarefa de educação ou recurso de submissão.

Carregar um recurso

A setUpResourcesFolder API devolve um modelo que contém a propriedade resourcesFolderUrl .

{
    ...
    "resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GFA"
    ...
}

Os passos seguintes descrevem como carregar um recurso/ficheiro para uma pasta de recursos relevante.

Passo 1 – Construir o URL de carregamento

Crie o URL para carregar conteúdo seguindo este formato {resourcesFolderUrl}:/{Name of new file}:/contentespecífico. O exemplo seguinte mostra um URL de carregamento que contém a propriedade resourcesFolderUrl .

https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content

Passo 2 – Carregar o recurso para o SharePoint

Faça um pedido PUT com o URL de carregamento para carregar o conteúdo.

O conteúdo do corpo da solicitação deve ser o fluxo binário do arquivo a ser carregado.

Para obter mais detalhes, veja Carregar ficheiros grandes com uma sessão de carregamento.

Solicitação

O exemplo a seguir mostra a solicitação.

PUT https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content
Content-Type: text/plain

Binary data for the file

Resposta

O exemplo a seguir mostra a resposta.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives('b%216SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F')/items/$entity",
    "@microsoft.graph.downloadUrl": "...",
    "createdDateTime": "2021-03-11T18:49:47Z",
    "eTag": "\"{EDD00CE7-B74C-4C3E-BA3E-484CB41EF31D},1\"",
    "id": "01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ",
    "lastModifiedDateTime": "2021-03-11T18:49:47Z",
    "name": "MyPictureFile.png",
    "webUrl": "https://contososdorg.sharepoint.com/sites/GraphTest/Class%20Files/Assignments/Test%20File%20Distribution/MyPictureFile.png",
    "cTag": "\"c:{EDD00CE7-B74C-4C3E-BA3E-484CB41EF31D},2\"",
    "size": 2302233,
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "email": "t-james@contososd.org",
            "id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
            "displayName": "James"
        }
    },
    "lastModifiedBy": {
        "application": null,
        "device": null,
        "user": {
            "email": "t-james@contososd.org",
            "id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
            "displayName": "James"
        }
    },
    "parentReference": {
        "driveId": "b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F",
        "driveType": "documentLibrary",
        "id": "01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2",
        "path": "/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/root:/Assignments/Test File Distribution"
    },
    "file": {
        "mimeType": "image/png",
        "hashes": {
            "quickXorHash": "CvYQxN7MCGrIsdrA38c6wWhOu5g="
        }
    },
    "fileSystemInfo": {
        "createdDateTime": "2021-03-11T18:49:47Z",
        "lastModifiedDateTime": "2021-03-11T18:49:47Z"
    },
    "image": {}
}

Passo 3 – Construir o valor para a propriedade fileUrl

Crie o valor da propriedade fileUrl com o seguinte formato: https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}. Substitua os {drive-id} marcadores de posição e {item-id} pelos valores descritos na tabela seguinte.

Espaço reservado Descrição Exemplo
{drive-id} ID da unidade do URL do pedido utilizado no passo 2. b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F
{item-id} ID do item do corpo da resposta obtido no passo 2. 01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ

O exemplo seguinte mostra um fileUrl baseado neste formato.

https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ

Passo 4 – Criar educationAssignmentResource

Este passo mostra como carregar um recurso do SharePoint para uma pasta de recursos de atribuição.

Utilize o fileUrl do passo anterior no corpo do pedido para Criar um educationAssignmentResource.

Solicitação

O exemplo a seguir mostra a solicitação.

POST https://graph.microsoft.com/v1.0/education/classes/b07edbef-7420-4b3d-8f7c-d599cf21e069/assignments/48b80dff-452a-4108-bd85-fa0d84e39d0a/resources
Content-type: application/json

{
    "resource": {
        "@odata.type": "#microsoft.graph.educationFileResource",
        "fileUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ",
        "displayName": "Parts of a Sonnet"
    }
}

Resposta

O exemplo a seguir mostra a resposta.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#education/classes('b07edbef-7420-4b3d-8f7c-d599cf21e069')/assignments('48b80dff-452a-4108-bd85-fa0d84e39d0a')/resources/$entity",
    "distributeForStudentWork": false,
    "id": "ff1aafe4-ae89-49c3-8366-4b509f640d6a",
    "resource": {
        "@odata.type": "#microsoft.graph.educationFileResource",
        "displayName": "Parts of a Sonnet",
        "createdDateTime": "2021-03-11T18:35:40.6642039Z",
        "lastModifiedDateTime": "2021-03-11T18:35:40.6642039Z",
        "fileUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ",
        "createdBy": {
            "application": null,
            "device": null,
            "user": {
                "id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
                "displayName": null
            }
        },
        "lastModifiedBy": {
            "application": null,
            "device": null,
            "user": {
                "id": "42ff222c-571f-497c-a9d3-f77ea9ece327",
                "displayName": null
            }
        }
    }
}

Carregou com êxito um recurso do SharePoint para uma pasta de recursos de atribuição (e anexou-o à atribuição associada). Pode seguir passos semelhantes para carregar um ou mais recursos de trabalho de estudantes.

Para obter mais detalhes, veja Criar educationSubmissionResource.