Carregar arquivos de comentários para envios de educação usando o Microsoft API do Graph
Os recursos são parte integrante de atribuições e envios de educação. Os professores determinam os recursos para carregar em uma pasta de atribuição e os alunos determinam os recursos para carregar em uma pasta de recursos de comentários.
Este artigo descreve como usar a API de educação no Microsoft Graph para carregar arquivos em uma pasta de recursos de comentários.
Pré-requisitos
Antes de carregar arquivos, configure uma pasta do SharePoint para carregar os arquivos para um determinado recurso de atribuição de educação ou envio.
Carregar um recurso
A API de envio SetUpFeedbackResourcesFolder retorna um modelo que contém a propriedade resourcesFolderUrl .
{
...
"resourcesFolderUrl": "https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GFA"
...
}
As etapas a seguir descrevem como carregar um recurso/arquivo em uma pasta de recurso relevante.
Etapa 1: Construir a URL de carregamento
Crie a URL para carregar conteúdo seguindo este formato específico: {resourcesFolderUrl}:/{Name of new file}:/content
. O exemplo a seguir mostra uma URL de upload que contém a propriedade resourcesFolderUrl .
https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJRQLVYT24IWWFAJHMRRNYCB3GE2:/MyPictureFile.png:/content
Etapa 2: carregar o recurso no SharePoint
Faça uma solicitação PUT com a 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, confira Carregar arquivos grandes com uma sessão de upload.
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": {}
}
Etapa 3: construir o valor para a propriedade fileUrl
Crie o valor da propriedade fileUrl usando o seguinte formato: https://graph.microsoft.com/v1.0/drives/{drive-id}/items/{item-id}
. Substitua os {drive-id}
espaços reservados e {item-id}
pelos valores descritos na tabela a seguir.
Espaço reservado | Descrição | Exemplo |
---|---|---|
{drive-id} |
ID da unidade da URL de solicitação usada na etapa 2. | b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F |
{item-id} |
ID do item do corpo de resposta obtido na etapa 2. | 01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ |
O exemplo a seguir mostra um fileUrl com base nesse formato.
https://graph.microsoft.com/v1.0/drives/b!6SQl0y4WHkS2P5MeIsSGpKwfynEIaD1OvPVeH4wbOp_1uyhNwJMSSpseJneB7Z4F/items/01YT2AIJU7DAXTU6XLOJGYWYMTGM5JT5UQ
Etapa 4: Criar educationFeedbackResourceOutcome
Esta etapa mostra como carregar um recurso do SharePoint em uma pasta de recursos de comentários.
Use o fileUrl
da etapa anterior no corpo da solicitação para criar um educationFeedbackResourceOutcome.
Solicitação
O exemplo a seguir mostra a solicitação.
POST https://graph.microsoft.com/beta/education/classes/37d99af7-cfc5-4e3b-8566-f7d40e4a2070/assignments/a3cce0ba-2008-4c4d-bf62-079408562d96/submissions/2185e6d7-2924-4ed1-dde1-269f89e29184/outcomes
Content-type: application/json
{
"@odata.type": "#microsoft.graph.educationFeedbackResourceOutcome",
"feedbackResource": {
"@odata.type": "#microsoft.graph.educationWordResource",
"displayName": "Document1.docx"
}
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/education/classes('37d99af7-cfc5-4e3b-8566-f7d40e4a2070')/assignments('a3cce0ba-2008-4c4d-bf62-079408562d96')/submissions('2185e6d7-2924-4ed1-dde1-269f89e29184')/outcomes/$entity",
"@odata.type": "#microsoft.graph.educationFeedbackResourceOutcome",
"lastModifiedDateTime": "2022-05-06T00:50:30.0772434Z",
"id": "ba12f282-2190-4958-80b3-42b8afb9626a",
"resourceStatus": "notPublished",
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "cb1a4af3-0aba-4679-aa12-9f99bab0b61a",
"displayName": null
}
},
"feedbackResource": {
"@odata.type": "#microsoft.graph.educationWordResource",
"displayName": "Document1.docx",
"createdDateTime": "2022-05-06T00:50:30.0772177Z",
"lastModifiedDateTime": "2022-05-06T00:50:30.0772434Z",
"fileUrl": "https://graph.microsoft.com/beta/drives/b!-Ik2sRPLDEWy_bR8l75jfeDcpXQcRKVOmcml10NQLQ1F8CNZWU38SarWxPyWM7jx/items/01VANVJQZQ33I4AJBSURHZJDDQKEJ5TEMJ",
"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
}
}
}
}
Agora você carregou com êxito um recurso em uma pasta de recursos de comentários (e o anexou ao envio associado). Você pode seguir etapas semelhantes para carregar um ou mais recursos de comentários.
Para obter mais detalhes, confira Criar educationFeedbackResourceOutcome.