Tutorial: registrar um suplemento de manipulação de arquivos manualmente
Para desenvolver um suplemento de manipulação de arquivo, primeiro você precisa carregar o manifesto de seu manipulador arquivo no registro de seu aplicativo no Azure Active Directory. Isso pode ser feito programaticamente ou por meio do editor de manifesto do aplicativo do Azure Active Directory.
Manifesto de aplicativo e a propriedade addIns
Manifestos de manipulador de arquivo são armazenados junto com seu manifesto de aplicativo no Azure Active Directory. A propriedade addIns do manifesto de aplicativo lista os componentes do suplemento de um aplicativo, como manipuladores de arquivos, e suas propriedades associadas.
O manifesto é composto por um conjunto de propriedades de chave-valor que definem as propriedades do manipulador de arquivo. Para saber mais sobre o manifesto do manipulador de arquivo, confira Visão geral do manipulador de arquivo.
Um exemplo de manipulador de arquivos:
{
"id": "968A844F-7A47-430C-9163-07AE7C31D407",
"type": "FileHandler",
"properties": [
{ "key": "version", "value": "2" },
{ "key": "fileTypeDisplayName", "value": "Display name of the file format" },
{ "key": "fileTypeIcon", "value": "{\"svg\":\"https://example.org/icon.svg\",\"png1x\":\"https://example.org/icon@1x.png\",\"png1.5x\":\"https://example.org/icon@1.5x.png\",\"png2x\":\"https://example.org/icon@2x.png\"}" },
{ "key": "appIcon", "value": "{\"svg\":\"https://example.org/app-icon.svg\",\"png1x\":\"https://example.org/app-icon@1x.png\",\"png1.5x\":\"https://example.org/app-icon@1.5x.png\",\"png2x\":\"https://example.org/app-icon@2x.png\"}" },
{ "key": "actions", "value": "json string of additional actions"}
]
}
Para registrar um manipulador de arquivo, você precisa atualizar a coleção addIns no manifesto do aplicativo armazenado no Azure Active Directory.
Atualizar manifesto do aplicativo no AAD
Esse método exige que você atualize o manifesto JSON diretamente no AAD.
- Navegue até o aplicativo no Azure Active Directory
- Selecione a opção de menu esquerdo "Manifesto"
- Cole seu Manipulador de Arquivos Add-In JSON na matriz "addIns", conforme mostrado abaixo:
{
"id": "9280aaa1-65c3-4a01-9ced-4f3e8e989c56",
"acceptMappedClaims": null,
"accessTokenAcceptedVersion": 2,
"addIns": [
{
"id": "328486ea-7159-4b6a-a2aa-f036b2423b23",
"type": "FileHandler",
"properties": [
{
"key": "version",
"value": "2"
},
{
"key": "fileTypeDisplayName",
"value": "Contoso Markdown"
},
{
"key": "fileTypeIcon",
"value": "{\"svg\":\"https://localhost:3000/images/icons/icon.svg\",\"png1x\":\"https://localhost:3000/images/icons/icon@1x.png\",\"png1.5x\":\"https://localhost:3000/images/icons/icon@1.5x.png\",\"png2x\":\"https://localhost:3000/images/icons/icon@2x.png\"}"
},
{
"key": "appIcon",
"value": "{\"svg\":\"https://localhost:3000/images/icons/app-icon.svg\",\"png1x\":\"https://localhost:3000/images/icons/app-icon@1x.png\",\"png1.5x\":\"https://localhost:3000/images/icons/app-icon@1.5x.png\",\"png2x\":\"https://localhost:3000/images/icons/app-icon@2x.png\"}"
},
{
"key": "actions",
"value": "[{\"type\":\"newFile\",\"url\":\"https://localhost:3000/markdown/create\",\"availableOn\":{\"file\":{\"extensions\":[\".md\"]},\"web\":{}}},{\"type\":\"open\",\"url\":\"https://localhost:3000/markdown/edit\",\"availableOn\":{\"file\":{\"extensions\":[\".md\"]},\"web\":{}}},{\"type\":\"preview\",\"url\":\"https://localhost:3000/markdown/preview\",\"availableOn\":{\"file\":{\"extensions\":[\".md\"]},\"web\":{}}}]"
}
]
}
],
"allowPublicClient": true,
remainder omitted...
}
- Selecione "Salvar" na barra de menus superior
Usando o Microsoft Graph para registrar um manipulador de arquivos
Você pode atualizar programaticamente um Registro de Aplicativo do AAD para adicionar o manifesto do Manipulador de Arquivos. Isso requer dois aplicativos existentes : o aplicativo Manipulador de Arquivos e um aplicativo com Directory.ReadWrite.All
permissões para permitir atualizações para o registro do Manipulador de Arquivos.
Você precisará adquirir um token de portador para acessar o Microsoft Graph. Para ler mais sobre o token, consulte os documentos de tokens AAD. Esse token deve incluir as
Directory.ReadWrite.All
permissões, conforme mencionado acima.Observe a ID do objeto do aplicativo que representa o registro do manipulador de arquivos no qual o manifesto será injetado. Isso pode ser encontrado na página "Visão geral" do registro do aplicativo e é diferente da ID do aplicativo.
Agora, usando o token da etapa 1 e a ID do Objeto da etapa 2, você pode fazer uma solicitação PUT para
https://graph.microsoft.com/v1.0/applications/${objectId}/addIns
incluir o manifesto no corpo, conforme mostrado.
PUT https://graph.microsoft.com/v1.0/applications/${objectId}/addIns HTTP/1.1
Authorization: Bearer ${AAD Token}
Accept: application/json
Content-Type: application/json
{
"value": [{
{
"id": "968A844F-7A47-430C-9163-07AE7C31D407",
"type": "FileHandler",
"properties": [
{ "key": "version", "value": "2" },
{ "key": "fileTypeDisplayName", "value": "Display name of the file format" },
{ "key": "fileTypeIcon", "value": "{\"svg\":\"https://example.org/icon.svg\",\"png1x\":\"https://example.org/icon@1x.png\",\"png1.5x\":\"https://example.org/icon@1.5x.png\",\"png2x\":\"https://example.org/icon@2x.png\"}" },
{ "key": "appIcon", "value": "{\"svg\":\"https://example.org/app-icon.svg\",\"png1x\":\"https://example.org/app-icon@1x.png\",\"png1.5x\":\"https://example.org/app-icon@1.5x.png\",\"png2x\":\"https://example.org/app-icon@2x.png\"}" },
{ "key": "actions", "value": "json string of additional actions"}
]
}
}]
}
Agora que o manifesto de seu manipulador de arquivo foi registrado com seu aplicativo no AAD, você poderá compilar e testar o suplemento de manipulador de arquivo.
Observação
Você pode ver um exemplo completo de adquirir um token, criar um aplicativo e registrar o suplemento do manipulador de arquivos nas ferramentas do exemplo Nodejs.
Importante
As alterações no manifesto do manipulador de arquivos podem levar de 24 a 48 horas para serem exibidas. Confira as informações sobre como forçar a limpeza do cache para fins de desenvolvimento em Atualizar cache do manipulador de arquivo.