Utilizar Metadados com Contentores Do SharePoint Embedded

No SharePoint Embedded, as colunas podem ser adicionadas aos Contentores para abordar cenários que requerem metadados personalizados através das APIs do Microsoft Graph. O conteúdo no contentor pode, em seguida, definir os valores pretendidos para os metadados correspondentes. Os metadados são esquematizados e podem ser consultados. Tenha em atenção que as APIs para criar e gerir colunas estão ao nível das instâncias de contentor – uma aplicação é responsável por definir e gerir as colunas nos respetivos contentores.

Autorização e autenticação

É necessário {token} de Aplicação+Utilizador (Delegado) ou Portador de Aplicações (Aplicação) no cabeçalho Autorização.

Observação

Os proprietários de contentores podem Criar, Atualizar e Eliminar colunas contentores Todos os membros do Contentor podem ler e listar colunas contentor

microsoft.graph.fileStorageContainer propriedades

Propriedade Tipo Descrição Chave Obrigatório ReadOnly
id Edm.String identificador estável exclusivo da instância do contentor de armazenamento Sim Sim Sim
displayName Edm.String nome a apresentar do contentor Não Sim Não
description Edm.String descrição do contentor Não Não Não
containerTypeId Edm.Guid ID do tipo de contentor Não Sim Sim
containerTypeDisplayName Edm.String nome a apresentar do tipo de contentor Não Não Sim
externalGroupId Edm.Guid ID de grupo externo Não Não Não
permissions Collection<microsoft.graph.permission> permissões de utilizadores/grupos no contentor Não Não Não
customProperties microsoft.graph.fileStorageContainerCustomPropertyDictionary propriedades personalizadas Não Não Não
viewpoint microsoft.graph.fileStorageContainerViewpoint dados específicos do utilizador atual Não Não Não
drive microsoft.graph.drive recurso de unidade do contentor de armazenamento Não Não Sim
recycleBin microsoft.graph.recycleBin recurso recycleBin do contentor de armazenamento Não Não Sim
status microsoft.graph.fileStorageContainerStatus um valor de enumeração que representa a status do contentor Não Não Sim
createdDateTime microsoft.graph.dateTimeOffset createdDateTime Não Não Sim
storageUsedInBytes Edm.Int64 armazenamento utilizado em bytes Não Não Sim
assignedSensitivityLabel microsoft.graph.assignedLabel a etiqueta de confidencialidade atribuída ao contentor Não Não Não
owners Collection<microsoft.graph.userIdentity> A lista de utilizadores que possuem o contentor Não Não Sim
columns Collection<microsoft.graph.columnDefinition> a coleção de campos de metadados personalizados no contentor Não Não Não

Limitações

Seguem-se as propriedades que os Metadados Incorporados do SharePoint suportam:

Nome da propriedade Tipo
booliano booleanColumn
escolha choiceColumn
moeda currencyColumn
dateTime dateTimeColumn
hyperlinkOrPicture hyperlinkOrPictureColumn
isDeletable Booliano
ID string
indexado Booliano
isSealed Booliano
nome string
number coluna núm
personOrGroup personOrGroupColumn
readOnly Booliano
texto textColumn
type columnTypes

Observação

Atribua um nome às colunas de acordo com a convenção de nomenclatura de colunas adequada

Convenções de Nomenclatura de Colunas

Os Nomes das Colunas têm de cumprir as seguintes regras:

  • Não é possível conter "!".
  • Não é possível começar com um dígito, ponto final, sinal de subtração ou ponto de interrogação.
  • Não pode conter nenhum espaço ou quaisquer carateres não fantasmagóricos exceto "_" ou "".
  • Não é possível ter um aspeto semelhante a qualquer tipo de referência de célula.
    • Referência de célula do modo A1 com 1 a 3 carateres seguido de 1 a 5 dígitos (por exemplo, A3 F02563, ZZZ12).
    • Referências de células do modo R1C1 que se parecem com r, c ou r[#], c[#] ou r[#]c[#].
  • Não pode ser uma palavra localizada para "verdadeiro" ou "falso".
  • Não podem ser nomes específicos, incluindo "Autor", "Criado", "Descrição", etc.

Criar uma coluna num ficheiroStorageContainer

Esta API permite que os autores de chamadas criem uma nova instância de coluna num fileStorageContainer.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo de Operação REST: criar uma coluna num ficheiroStorageContainer

Solicitação
POST https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns
Content-Type: application/json

{
  "description": "test",
  "displayName": "Title",
  "enforceUniqueValues": false,
  "hidden": false,
  "indexed": false,
  "name": "Title",
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

Observação

O Tipo de Nota não é suportado. maxLength deve =< 255.

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

{
  "description": "test",
  "displayName": "Title",
  "enforceUniqueValues": false,
  "hidden": false,
  "id": "99ddcf45-e2f7-4f17-82b0-6fba34445103",
  "indexed": false,
  "name": "Title",
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

Obter uma coluna num fileStorageContainer por ID

Esta API permite que os autores da chamada obtenham uma instância de coluna fileStorageContainer por ID.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo da Operação REST: obter uma coluna num ficheiroStorageContainer por ID

Solicitação
GET https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns/{column-id}
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "description": "test",
  "displayName": "Title",
  "enforceUniqueValues": false,
  "hidden": false,
  "id": "99ddcf45-e2f7-4f17-82b0-6fba34445103",
  "indexed": false,
  "name": "Title",
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

Atualizar uma coluna num fileStorageContainer por ID

Esta API permite que os chamadores atualizem uma instância de coluna fileStorageContainer por ID. Pode atualizar qualquer propriedade da coluna que não seja a propriedade ID .

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo de Operação REST: atualizar uma coluna num ficheiroStorageContainer por ID

Solicitação
PATCH https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns/{column-id}
Content-Type: application/json

{
  "required": true,
  "hidden": false,
  "description": "This is my new column description"
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "description": "",
  "displayName": "Custom Column",
  "enforceUniqueValues": false,
  "hidden": false,
  "id": "11dfef35-e2f7-4f17-82b0-6fba34445103",
  "indexed": false,
  "name": "Custom Column",
  "readOnly": false,
  "required": true,
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

Eliminar uma coluna de um ficheiroStorageContainer

Esta API permite que os chamadores eliminem uma instância de coluna fileStorageContainer por ID.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo de Operação REST: eliminar uma coluna de um ficheiroStorageContainer

Solicitação
DELETE https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns/{column-id}
Resposta
HTTP/1.1 204 No Content

Listar colunas num ficheiroStorageContainer

Esta API permite que os autores de chamadas enumeram as colunas num ficheiroStorageContainer.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo de Operação REST: Listar colunas num ficheiroStorageContainer

Solicitação
GET https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "description": "",
      "displayName": "Title",
      "hidden": false,
      "id": "99ddcf45-e2f7-4f17-82b0-6fba34445103",
      "indexed": false,
      "name": "Title",
      "readOnly": false,
      "required": false,
      "text": {
        "allowMultipleLines": false,
        "appendChangesToExistingText": false,
        "linesForEditing": 0,
        "maxLength": 255
      }
    },
    {
      "description": "",
      "displayName": "Address",
      "id": "11dfef35-e2f7-4f17-82b0-6fba34445103",
      "indexed": false,
      "name": "Address",
      "readOnly": false,
      "required": false,
      "text": {
        "allowMultipleLines": false,
        "appendChangesToExistingText": false,
        "linesForEditing": 0,
        "maxLength": 255
      }
    }
  ]
}

Obter valores de coluna de um item numa unidade fileStorageContainer

Esta é uma API existente utilizada para mostrar a nossa nova funcionalidade de obter os valores de coluna de um item numa unidade fileStorageContainer. Esta API suporta funcionalidades de $select OData para column.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo de Operação REST: Obter valores de coluna de um item numa unidade fileStorageContainer

Solicitação
GET https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Color": "Blue",
  "Quantity": 2357
}
Solicitação
GET https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields?$select=Name,Color
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Color": "Blue"
}

Patch column values of an item in a fileStorageContainer's drive

Esta é uma API existente utilizada para mostrar a nossa nova funcionalidade de atualização e eliminação dos valores de coluna de um item numa unidade fileStorageContainer.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo da Operação REST: atualizar valores de coluna de um item numa unidade fileStorageContainer

Solicitação
PATCH https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields

Content-Type: application/json

{
    "Color": "Fuchsia",
    "Quantity": 934
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Color": "Fuchsia",
  "Quantity": 934
}

Exemplo de Operação REST: eliminar valores de coluna de um item numa unidade fileStorageContainer

Solicitação
PATCH https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields

Content-Type: application/json

{
    "Color": null
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Quantity": 934
}

Consultar os driveitems de um fileStorageContainer com opções de consulta Odata em colunas personalizadas

Esta API permite que os utilizadores consultem itens de unidade num ficheiroStorageContainer com $expandas opções de consulta , $filtere $orderby Odata nas respetivas colunas personalizadas.

Permissões necessárias (pelo menos uma)
ScopeName Tipo
FileStorageContainer.Selected Application
FileStorageContainer.Selected Delegated

Exemplo da Operação REST: filtrar os driveitems de fileStorageContainer pelas colunas personalizadas "TestField" e ordenar os resultados por "TestField"

Solicitação
GET  https://graph.microsoft.com/beta/drives/{drive-id}/items?$orderby=listitem/fields/TestField asc&$filter=startswith(listitem/fields/TestField, '3')&$expand=listitem($expand=fields)
Resposta
HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {"name": "a.jpg", "size": 2048, "listitem/fields/TestField": "31" },
    {"name": "b.xlsx", "size": 197, "listitem/fields/TestField": "32" },
    {"name": "c.docx", "size": 391, "listitem/fields/TestField": "33" }
  ]
}