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 a lista de recursos que dão suporte a extensões abertas.
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
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 é 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 | 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, a fim de 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 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.
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. Saiba mais sobre autenticação e autorização. |
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.
Name | Valor |
---|---|
@odata.type | microsoft.graph.openTypeExtension |
extensionName | %unique_string% |
Use essa operação para armazenar dados na propriedade de extensão aberta, atualizar os dados armazenados ou excluir os dados existentes.
- 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, defina seu valor como null
.
- Para excluir uma propriedade do objeto de extensão aberta, não passe-a no corpo da solicitação PATCH e o Microsoft Graph a excluirá.
- Para excluir dados de todas as propriedades no objeto de extensão aberta, mas manter o objeto de extensão aberto, atualize os valores das propriedades para null
.
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
companyName
deWingtip Toys
paraWingtip Toys (USA)
- Alterando
dealValue
de500050
para500100
- 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
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários