Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Atualize uma extensão aberta (objeto openTypeExtension ) em um tipo de recurso compatível.
- 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.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global | Governo dos EUA L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ |
Permissões
Dependendo do recurso em que a extensão foi criada e do tipo de permissão (delegada ou aplicativo) solicitada, a permissão especificada na tabela a seguir é a menos privilegiada necessária 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 | Sem suporte | 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/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/extensions/{extensionId}
Observação: 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 recursos dão suporte à atualização de extensões abertas nelas 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.
Cabeçalhos de solicitação
| Nome | Valor |
|---|---|
| Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type | application/json |
Corpo da solicitação
No corpo da solicitação, forneça apenas os valores das propriedades a serem atualizadas. As propriedades existentes que não estão incluídas no corpo da solicitação mantêm seus valores anteriores ou são recalculadas com base nas alterações de outros valores de propriedade.
A tabela a seguir especifica as propriedades que podem ser atualizadas.
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.
| Propriedade | Tipo | Descrição |
|---|---|---|
| @odata.type | Cadeia de caracteres | Deve ser #microsoft.graph.openTypeExtension. Obrigatório. |
| extensionName | String | Obrigatório se a ID não for fornecida. Atualizável. |
| id | Cadeia de caracteres | Obrigatório se a ID não for fornecida. Somente leitura. |
Para recursos que são objetos de diretório (Microsoft Entra ID):
- Para atualizar qualquer propriedade no objeto de extensão aberta, você deve especificar todas as propriedades no corpo da solicitação; caso contrário, o Microsoft Graph excluirá as propriedades não especificadas.
- Para excluir dados de uma propriedade no objeto de extensão aberta, mas manter a propriedade, defina seu valor como
null. - Para excluir uma propriedade do objeto de extensão aberto, não a passe no corpo da solicitação PATCH e o Microsoft Graph a excluirá.
- Para excluir dados de todas as propriedades no objeto de extensão aberto, mas manter o objeto de extensão aberto, atualize os valores de todas as propriedades para
null.
Para recursos do Microsoft 365, como mensagens:
- Você pode especificar um subconjunto das propriedades no corpo da solicitação para atualizá-las. As propriedades omitidas e seus valores são mantidos.
-
nullValores não são permitidos.
Resposta
Se for bem-sucedido, esse método retornará um código de 204 No Content resposta para objetos de diretório ou um código de 200 OK resposta e um objeto openTypeExtension atualizado para outros recursos.
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"
]
}