Как зарегистрировать надстройку-обработчик файлов вручную
Чтобы создать надстройку для обработки файлов, необходимо сначала отправить манифест обработчика файлов на портал регистрации приложений в Azure Active Directory. Это можно сделать программными средствами или с помощью редактора манифеста приложения Azure Active Directory.
Манифест приложения и свойство addIns
Манифесты обработчиков файлов хранятся вместе с манифестом приложения в Azure Active Directory. В свойстве addIns манифеста приложения перечислены такие компоненты надстройки, как обработчики файлов и связанные с ними свойства.
Манифест представляет собой набор свойств в формате "ключ-значение", которые определяют свойства обработчика файлов. Дополнительные сведения о манифесте обработчика файлов см. в этой статье.
Вот пример манифеста обработчика файлов:
{
"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"}
]
}
Чтобы зарегистрировать обработчик файлов, необходимо обновить коллекцию addIns в манифесте приложения, который хранится в Azure Active Directory.
Обновление манифеста приложения в AAD
Этот метод требует обновления манифеста JSON непосредственно в AAD.
- Перейдите к приложению в Azure Active Directory
- Выберите пункт меню "Манифест" слева
- Вставьте обработчик файлов Add-In JSON в массив addIns, как показано ниже:
{
"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...
}
- Выберите "Сохранить" в верхней строке меню.
Регистрация обработчика файлов с помощью Microsoft Graph
Вы можете программно обновить регистрацию приложения AAD, чтобы добавить манифест обработчика файлов. Для этого требуются два существующих приложения — приложение обработчика файлов и приложение с Directory.ReadWrite.All
разрешениями на обновление регистрации обработчика файлов.
Для доступа к Microsoft Graph потребуется получить маркер носителя. Дополнительные сведения о маркерах см. в документации по маркерам AAD. Этот маркер должен включать разрешения,
Directory.ReadWrite.All
как упоминалось выше.Обратите внимание на идентификатор объекта приложения, представляющего регистрацию обработчика файлов, в которую будет внедрен манифест. Это можно найти на странице "Обзор" регистрации приложения и отличается от идентификатора приложения.
Теперь с помощью маркера из шага 1 и идентификатора объекта из шага 2 можно выполнить запрос PUT для
https://graph.microsoft.com/v1.0/applications/${objectId}/addIns
включения манифеста в текст, как показано ниже.
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"}
]
}
}]
}
Теперь, когда манифест обработчика файлов зарегистрирован с приложением в AAD, вы можете приступить к сборке и тестированию надстройки.
Примечание.
Полный пример получения маркера, создания приложения и регистрации надстройки обработчика файлов можно увидеть в примере средств Nodejs.
Важно!
Изменение манифеста обработчика файлов может занять 24–48 часов. Сведения о принудительной очистке кэша для разработки см. в статье Обновление кэша обработчика файлов.