Atualizar extensão aberta
Namespace: microsoft.graph
Atualize uma extensão aberta (objeto openTypeExtension ) com as propriedades no corpo da solicitação:
- Se uma propriedade no corpo da solicitação corresponder ao nome de uma propriedade existente na extensão, os dados na extensão serão atualizados.
- Caso contrário, essa propriedade e seus dados serão adicionados à extensão.
Os dados em uma extensão podem ser tipos primitivos ou matrizes de tipos primitivos.
Consulte a tabela na seção Permissões para obter a lista de recursos que dão suporte a extensões abertas.
Permissões
Dependendo do recurso no qual a extensão foi criada e do tipo de permissão (delegado ou aplicativo) solicitado, a permissão especificada na tabela a seguir é o menos privilegiado necessário para chamar essa API. Para saber mais, incluindo tomar cuidado antes de escolher as permissões mais privilegiadas, pesquise as seguintes permissões em Permissões.
| Recurso com suporte | Delegada (conta corporativa ou de estudante) | Delegada (conta pessoal da Microsoft) | Application |
|---|---|---|---|
| device | Directory.AccessAsUser.All | Sem suporte | Device.ReadWrite.All |
| evento | Calendars.ReadWrite | Calendars.ReadWrite | Calendars.ReadWrite |
| grupo | Group.ReadWrite.All | Sem suporte | Group.ReadWrite.All |
| evento de grupo | Group.ReadWrite.All | Sem suporte | Sem suporte |
| postagem de grupo | Group.ReadWrite.All | Sem suporte | Group.ReadWrite.All |
| mensagem | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
| organization | Organization.ReadWrite.All | Incompatível | Organization.ReadWrite.All |
| contato pessoal | 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 |
Solicitação HTTP
Na solicitação, identifique a instância de recurso, use a propriedade de navegação extensions dessa instância para identificar a extensão e faça um PATCH nessa instância de extensão.
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}
Nota: A sintaxe acima mostra algumas maneiras comuns de identificar uma instância de recurso para atualizar uma extensão nela. Todas as outras sintaxes que permitem identificar essas instâncias de recurso dão suporte à atualização de extensões abertas neles de maneira semelhante.
Confira a seção Solicitar corpo sobre como incluir no corpo de solicitação dados personalizados para alterar ou adicionar a essa extensão.
Parâmetros do caminho
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | string | Um identificador exclusivo para uma instância da coleção correspondente. Obrigatório. |
| extensionId | string | Espaço reservado para um nome de extensão que é um identificador de texto exclusivo para a extensão ou um nome totalmente qualificado que concatena o tipo de extensão e o identificador de texto exclusivo. O nome totalmente qualificado é retornado na propriedade id quando você cria a extensão. Obrigatório. |
Cabeçalhos de solicitação
| Nome | Valor |
|---|---|
| Autorização | {token} de portador. Obrigatório. |
| Content-Type | application/json |
Corpo da solicitação
Forneça um corpo JSON de um objeto openTypeExtension, com os seguintes pares de nome e valor obrigatórios e os dados personalizados para alterar ou adicionar a essa extensão. Os dados na carga JSON podem ser tipos primitivos ou matrizes de tipos primitivos.
| Nome | Valor |
|---|---|
| @odata.type | microsoft.graph.openTypeExtension |
| extensionName | %unique_string% |
Resposta
Se for bem-sucedido, este método retornará um código de resposta 200 OK e o objeto openTypeExtension atualizado.
Exemplo
Solicitação 1
O primeiro exemplo mostra como atualizar uma extensão de uma mensagem. A extensão é representada inicialmente pela seguinte carga 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"
}
Você pode fazer referência à extensão por seu nome:
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral
Ou você pode fazer referência à extensão por seu nome totalmente qualificado:
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral
Você pode usar o exemplo de solicitação e o seguinte corpo de solicitação para atualizar a extensão acima da seguinte forma:
- Alterando
companyNamedeWingtip ToysparaWingtip Toys (USA) - Alterando
dealValuede500050para500100 - Adicionar novos dados como a propriedade personalizada
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"
}
Resposta 1
Aqui está a resposta que é a mesma, independentemente da maneira usada para fazer referência à extensão.
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"
}
Solicitação 2
O segundo exemplo mostra como atualizar uma extensão em uma postagem de grupo. A extensão é representada inicialmente pela seguinte carga JSON, com um valor expirationDate de 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"
]
}
A seguir estão a solicitação e o corpo da solicitação para alterar o expirationDate para 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"
]
}
Resposta 2
Aqui está a resposta do segundo exemplo, que mostra o expirationDate atualizado na extensão.
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"
]
}
Comentários
Enviar e exibir comentários de