Обновление открытого расширения
Пространство имен: microsoft.graph
Обновите открытое расширение (объект openTypeExtension ) со свойствами в тексте запроса:
- Если свойство в теле запроса совпадает с именем существующего свойства в расширении, то данные в расширении будут обновлены.
- В противном случае это свойство и его данные будут добавлены в расширение.
Данные в расширении могут относиться к элементарным типам или массиву элементарных типов.
Список ресурсов, поддерживающих открытые расширения, см. в таблице в разделе Разрешения .
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
В зависимости от ресурса, в который было создано расширение, и типа запрошенного разрешения (делегированного или приложения), разрешение, указанное в следующей таблице, является наименее привилегированным для вызова этого API. Чтобы получить дополнительные сведения, в том числе о соблюдении осторожности перед выбором разрешений с повышенными привилегиями, найдите следующие разрешения в разделе Разрешения.
Поддерживаемый ресурс | Делегированное (рабочая или учебная учетная запись) | Делегированное (личная учетная запись Майкрософт) | Для приложений |
---|---|---|---|
device | Directory.AccessAsUser.All | Не поддерживается | Device.ReadWrite.All |
event | Calendars.ReadWrite | Calendars.ReadWrite | Calendars.ReadWrite |
group | Group.ReadWrite.All | Не поддерживается | Group.ReadWrite.All |
event для групп | Group.ReadWrite.All | Не поддерживается | Не поддерживается |
post для групп | Group.ReadWrite.All | Не поддерживается | Group.ReadWrite.All |
message | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
organization | Organization.ReadWrite.All | Не поддерживается | Organization.ReadWrite.All |
contact (личный контакт) | Contacts.ReadWrite | Contacts.ReadWrite | Contacts.ReadWrite |
todoTask | Tasks.ReadWrite | Tasks.ReadWrite | Tasks.ReadWrite.All |
todoTaskList | Tasks.ReadWrite | Tasks.ReadWrite | Tasks.ReadWrite.All |
user | User.ReadWrite | User.ReadWrite | User.ReadWrite.All |
HTTP-запрос
В запросе идентифицируйте экземпляр ресурса, воспользуйтесь свойством навигации extensions этого экземпляра, чтобы определить расширение, и укажите метод PATCH
для этого экземпляра расширения.
PATCH /devices/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/extensions/{extensionId}
PATCH /groups/{id}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
PATCH /organization/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/extensions/{extensionId}
PATCH /users/me/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
PATCH /users/me/todo/lists/{todoTaskListId}/extensions/{extensionId}
Примечание: Приведенный выше синтаксис показывает некоторые распространенные способы определения экземпляра ресурса для обновления расширения в нем. Все остальные синтаксисы, позволяющие идентифицировать эти экземпляры ресурсов, поддерживают обновление открытых расширений в них аналогичным образом.
См. раздел Тело запроса о том, как включить в тело запроса специальные данные для изменения или дополнения этого расширения.
Параметры пути
Параметр | Тип | Описание |
---|---|---|
id | string | Уникальный идентификатор экземпляра в соответствующей коллекции. Обязательный. |
extensionId | string | Этот параметр может быть именем расширения, которое представляет собой уникальный текстовый идентификатор для расширения, либо полным именем, в котором сцеплены тип расширения и уникальный текстовый идентификатор. Полное имя возвращается в свойстве id при создании расширения. Обязательный. |
Заголовки запросов
Имя | Значение |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json |
Текст запроса
Задайте основной текст JSON объекта openTypeExtension с указанными ниже обязательными парами имя-значение и любыми пользовательскими данными, которые необходимо изменить или добавить в это расширение. Полезные данные JSON могут иметь простой тип или представлять собой массив элементов простого типа.
Имя | Значение |
---|---|
@odata.type | microsoft.graph.openTypeExtension |
extensionName | %уникальная_строка% |
Используйте эту операцию для хранения данных в свойстве открытого расширения, обновления сохраненных данных или удаления существующих данных.
— Чтобы обновить любое свойство в открытом объекте расширения, необходимо указать все свойства в тексте запроса; В противном случае Microsoft Graph удалит неуказаные свойства.
— Чтобы удалить данные из свойства в открытом объекте расширения, присвойте null
ей значение .
— Чтобы удалить свойство из открытого объекта расширения, не передайте его в тексте запроса PATCH, и Microsoft Graph удалит его.
— Чтобы удалить данные из всех свойств в открытом объекте расширения, но сохранить открытый объект расширения, обновите значения свойств на null
.
Отклик
При успешном выполнении этот метод возвращает код отклика 200 OK
и обновленный объект openTypeExtension.
Пример
Запрос 1
В первом примере показано, как обновить расширение в сообщении. Изначально расширение представлено указанными ниже полезными данными JSON.
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"@odata.id": "https://graph.microsoft.com/v1.0/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"extensionName": "Com.Contoso.Referral",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"companyName": "Wingtip Toys",
"dealValue": 500050,
"expirationDate": "2015-12-03T10:00:00Z"
}
Вы можете ссылаться на расширение по его имени:
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral
Кроме того, вы можете ссылаться на расширение по его полному имени:
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral
Для обновления указанного выше расширения используйте любой пример запроса и приведенный ниже тело запроса следующими способами:
- изменив значение параметра
companyName
сWingtip Toys
наWingtip Toys (USA)
; - изменив значение параметра
dealValue
с500050
на500100
; - добавив новые данные в качестве пользовательского свойства
updated
.
{
"@odata.type": "microsoft.graph.openTypeExtension",
"extensionName": "Com.Contoso.Referral",
"companyName": "Wingtip Toys (USA)",
"dealValue": "500100",
"expirationDate": "2015-12-03T10:00:00.000Z",
"updated": "2015-10-29T11:00:00.000Z"
}
Отклик 1
Вот отклик, который не зависит от способа, которым вы ссылаетесь на расширение.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"@odata.id": "https://graph.microsoft.com/v1.0/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"extensionName": "Com.Contoso.Referral",
"companyName": "Wingtip Toys (USA)",
"dealValue": 500100,
"expirationDate": "2015-12-03T10:00:00Z",
"updated": "2015-10-29T11:00:00.000Z"
}
Запрос 2
Во втором примере показано, как обновить расширение в публикации группы. Изначально расширение представлено указанными ниже полезными данными JSON, в котором параметр expirationDate
имеет значение 2015-07-03T13:04:00Z
:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
"extensionName": "Com.Contoso.Estimate",
"companyName": "Contoso",
"expirationDate": "2015-07-03T13:04:00Z",
"DealValue": 1010100,
"Strings@odata.type": "#Collection(String)",
"topPicks": [
"Employees only",
"Add spouse or guest",
"Add family"
]
}
Ниже приведен запрос и тело запроса для изменения значения параметра expirationDate
на 2016-07-30T11:00:00Z
.
PATCH https://graph.microsoft.com/v1.0/groups/37df2ff0-0de0-4c33-8aee-75289364aef6/threads/AAQkADJizZJpEWwqDHsEpV_KA==/posts/AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA=/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate
Content-type: application/json
{
"@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",
"extensionName": "Com.Contoso.Estimate",
"companyName": "Contoso",
"expirationDate": "2016-07-30T11:00:00.000Z",
"DealValue": 1010100,
"topPicks": [
"Employees only",
"Add spouse or guest",
"Add family"
]
}
Отклик 2
Вот отклик для второго примера, в котором отображается обновленный параметр expirationDate
в расширении.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
"extensionName": "Com.Contoso.Estimate",
"companyName": "Contoso",
"expirationDate": "2016-07-30T11:00:00Z",
"DealValue": 1010100,
"Strings@odata.type": "#Collection(String)",
"topPicks": [
"Employees only",
"Add spouse or guest",
"Add family"
]
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по