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.
No Outlook, o proprietário do calendário pode compartilhá-lo com outro usuário. O proprietário pode especificar quais informações em eventos não particulares podem ser visualizadas e pode conceder acesso de gravação para os usuários na mesma organização.
O proprietário também pode delegar outro usuário a gerenciar reuniões no calendárioprincipal do proprietário. Os delegados são destinatários de partilha que podem ver todas as informações no e têm acesso de escrita a eventos não privados. Eles também recebem solicitações de reunião e respostas, além de responder a solicitações de reunião em nome do proprietário. Além disso, o proprietário pode conceder permissões explícitas a delegados para exibir os eventos particulares do proprietário no calendário.
Antes de a partilha ou delegação do calendário poder entrar em vigor, o proprietário envia um convite a um destinatário ou delegado de partilha e o destinatário ou delegado da partilha aceita o convite ou adiciona explicitamente o calendário partilhado ou delegado para acesso. O convite e a adição de um calendário compartilhado ou delegado ocorrem em um cliente do Outlook.
Depois de configurar o compartilhamento ou a delegação no Outlook, os aplicativos poderão usar a API do Microsoft Graph para gerenciar o compartilhamento e a delegação.
O restante deste artigo baseia-se no exemplo a seguir:
- Alex Rodrigues delegou a Sara Melo seu calendário principal e também permitiu Sara para visualizar eventos privados nesse calendário.
- Alex compartilhou no calendário o evento "festa das crianças" com Adele Vance e Sara Melo, e atribuiu Adele e a Sara permissões
readpara todos os detalhes de eventos não privados no calendário "festas das crianças" e o status de disponibilidade para eventos privados.
Este artigo descreve programaticamente a execução das seguintes tarefas com um calendário compartilhado ou delegado:
- Obtenha informações de calendário sobre a partilha de destinatários, delegados e permissões permitidas e atualize permissões individuais
- Obtenha as propriedades que descrevem o compartilhamento ou a delegação de calendário.
- Obtenha ou defina a configuração de caixa de correio para receber solicitações de reunião e respostas para um calendário delegado.
- Eliminar um destinatário de partilha ou delegado de um calendário.
Os aplicativos também podem fazer o seguinte usando a API que geralmente está disponível:
- Obter calendário do Outlook compartilhado ou delegado ou seus eventos
- Criar eventos do Outlook em um calendário compartilhado ou delegado
Observação
As propriedades e API para compartilhamento e delegação de calendário conforme descrito neste tópico estão disponíveis atualmente no ponto de extremidade v1.0, com exceção das propriedades de calendário isShared e isSharedWithMe. Essas duas propriedades são expostas apenas no ponto de extremidade beta.
Obter informações de calendário sobre a partilha de destinatários e delegados e atualizar permissões individuais
Nesta seção:
- Proprietário do calendário: obter informações e permissões de compartilhamento e delegação
- Proprietário do calendário: atualizar permissões para um destinatário ou delegado de partilha existente num calendário
Cada calendário está associado a uma coleção de objetos calendarPermission , cada um dos quais descreve um destinatário ou delegado de partilha e a permissão associada que o proprietário do calendário configurou. A enumeração calendarRoleType define o intervalo de permissões que o Microsoft Graph dá suporte:
-
noneEste valor aplica-se apenasMy Organizationao que não tem permissões para o calendário. Isso não se aplica a usuários individuais, pois somente os usuários com permissões estão associados a um objeto calendarPermission para o calendário. -
freeBusyReadO destinatário da partilha pode ver a status de disponibilidade do proprietário, mas não outros detalhes no calendário. -
limitedReadO destinatário da partilha pode ver a status de disponibilidade do proprietário e os títulos e localizações de eventos não privados no calendário. -
readO destinatário da partilha pode ver os status de disponibilidade do proprietário em eventos privados e todos os detalhes de eventos não privados no calendário. -
writeO destinatário da partilha pode ver os status de disponibilidade do proprietário em eventos privados e pode ver todos os detalhes e editar (criar, atualizar ou eliminar) eventos não privados no calendário. -
delegateWithoutPrivateEventAccessO delegado pode visualizar o status de disponibilidade do proprietário em eventos privados e temwriteacesso a eventos não privados no calendário. -
delegateWithPrivateEventAccessO delegado pode visualizar o status de disponibilidade do proprietário em eventos privados e tem acessowritea eventos não privados no calendário.
O calendário principal de um usuário sempre é compartilhado com a "Minha Organização", que representa os usuários na mesma organização do proprietário. Por padrão, eles podem ler o status de disponibilidade do proprietário no calendário e ter a permissão freeBusyRead.
Proprietário do calendário: obter informações e permissões de compartilhamento e delegação
Este exemplo mostra com o consentimento de Alex ou administrador, como obter os objetos calendarPermission associados ao calendário principal de Alex. A solicitação retorna dois objetos de permissão:
O primeiro objeto calendarPermission é atribuído ao delegado, Sara, e tem os seguintes valores de propriedade:
- isRemovable está definida como true, o que permite a cancelamento de uma delegação.
- isInsideOrganization é verdadeiro, pois somente os usuários na mesma organização podem ser delegados.
-
a função de Sara é
delegateWithPrivateEventAccess, conforme configurado por Alex. -
allowedRoles inclui os tipos de função
delegateWithoutPrivateEventAccessedelegateWithPrivateEventAccessque oferecem suporte à delegação. - emailAddress especifica Sara.
O segundo objeto calendarPermission é um objeto padrão atribuído a "My Organization" e tem os seguintes valores de propriedade:
- isRemovable está definido como falso, uma vez que o calendário principal é sempre compartilhado com a organização do proprietário.
- isInsideOrganization é verdadeiro.
-
a funçãoé
freeBusyRead, a configuração padrão para "My Organization". - emailAddress especifica a subpropriedade name como "My Organization"; o endereçode "My Organization" é nulo.
Permissões do Microsoft Graph
Use a permissão delegada ou de aplicativo com menos privilégios, Calendars.Read, conforme apropriado, para esta operação. Para obter mais informações, confira permissões de calendário.
GET https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendar/calendarPermissions
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/calendar/calendarPermissions",
"value": [
{
"id": "L289RXhjaGFuZ2VMYWJTWVnYW5C",
"isRemovable": true,
"isInsideOrganization": true,
"role": "delegateWithPrivateEventAccess",
"allowedRoles": [
"freeBusyRead",
"limitedRead",
"read",
"write",
"delegateWithoutPrivateEventAccess",
"delegateWithPrivateEventAccess"
],
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.com"
}
},
{
"id": "RGVmYXVsdA==",
"isRemovable": false,
"isInsideOrganization": true,
"role": "freeBusyRead",
"allowedRoles": [
"none",
"freeBusyRead",
"limitedRead",
"read",
"write"
],
"emailAddress": {
"name": "My Organization"
}
}
]
}
Proprietário do calendário: atualizar permissões para um destinatário ou delegado de partilha existente num calendário
Com o consentimento do Alex ou do administrador, pode atualizar as permissões atribuídas a um destinatário ou delegado de partilha existente (especificado pela propriedade da função), desde que as novas permissões sejam suportadas pelas permissões permitidas Configuradas inicialmente para o destinatário da partilha ou delegado desse calendário.
Além da propriedade da função, não pode atualizar outras propriedades de um destinatário ou delegado de partilha existente. Alterar o valor da propriedade emailAddress requer a eliminação do destinatário ou delegado da partilha e a configuração de uma nova instância de calendarPermission novamente.
O exemplo nesta secção atualiza a propriedade da função, alterando a permissão de um destinatário de partilha existente, Adele, de read para write o calendário personalizado "Festas de crianças".
Permissões do Microsoft Graph
Use a permissão delegada ou de aplicativo com menos privilégios, Calendars.ReadWrite, conforme apropriado, para esta operação. Para obter mais informações, confira permissões de calendário.
PATCH https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendars/AAMkADAwAABf02bAAAA=/calendarPermissions/L289RXhjaGFuZ2VMYWJQWRlbGVW
Content-type: application/json
{
"role": "write"
}
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/calendars('AAMkADAwAABf02bAAAA%3D')/calendarPermissions/$entity",
"id": "L289RXhjaGFuZ2VMYWJQWRlbGVW",
"isRemovable": true,
"isInsideOrganization": true,
"role": "write",
"allowedRoles": [
"freeBusyRead",
"limitedRead",
"read",
"write"
],
"emailAddress": {
"name": "Adele Vance",
"address": "AdeleV@contoso.com"
}
}
Obter propriedades de um calendário compartilhado ou delegado
Nesta seção:
- Proprietário do calendário: Obter propriedades de um calendário compartilhado ou delegado
- partilhar destinatário ou delegado: obter propriedades de calendários partilhados ou delegados
Lembrando deste exemplo, Alex delegou seu calendário principal e concedeu à delegada, Sara Melo, a permissão para exibir itens de calendário marcados como particulares. Esta seção mostra as propriedades do calendário delegado, primeiro a partir da perspectiva de e com o consentimento do proprietário, Alex, da perspectiva de e com o consentimento da delegada, Sara. O consentimento do administrador também funciona para todos os casos.
Proprietário do calendário: Obter propriedades de um calendário compartilhado ou delegado
O exemplo nesta seção obtém as propriedades do calendário principal da perspectiva do proprietário, Alex.
Observe as seguintes propriedades de Alex:
- canshare é verdadeiro, pois Alex é o proprietário.
- canViewPrivateItems é verdadeiro, uma vez que Alex é o proprietário.
- isShared é definido como verdadeiro, uma vez que o Alex configurou um delegado para este calendário.
- isSharedWithMe é sempre falso para o proprietário do calendário.
- owner mostra Alex como proprietário.
Permissões do Microsoft Graph
Use a permissão delegada ou de aplicativo com menos privilégios, Calendars.Read, conforme apropriado, para esta operação. Para obter mais informações, confira permissões de calendário.
GET https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendar
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/calendar/$entity",
"id": "AQMkADAw7QAAAJfygAAAA==",
"name": "Calendar",
"color": "auto",
"hexColor": "",
"changeKey": "NEXywgsVrkeNsFsyVyRrtAAAAAACOg==",
"canShare": true,
"canViewPrivateItems": true,
"isShared": true,
"isSharedWithMe": false,
"canEdit": true,
"allowedOnlineMeetingProviders": [
"teamsForBusiness"
],
"defaultOnlineMeetingProvider": "teamsForBusiness",
"isTallyingResponses": true,
"isRemovable": false,
"owner": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
}
Partilhar destinatário ou delegado: obter propriedades de calendários partilhados ou delegados
O exemplo nesta seção obtém as propriedades do mesmo calendário da perspectiva da delegada, Sara.
Observe as seguintes propriedades:
- nome do calendário é, por padrão, o nome de exibição do proprietário. Nesse caso, é "Alex Rodrigues", já que o calendário de Alex, foi delegado a Sara.
- canShare é falso, uma vez que Sara não é a proprietária do calendário.
- canViewPrivateItems é verdadeiro para a delegada Sara, conforme configurado por Alex. Para um sharee que não seja um delegado essa propriedade será sempre falsa.
- isShared é falso. Esta propriedade indica apenas ao proprietário do calendário se o calendário foi compartilhado ou delegado.
- A propriedadeisSharedWithMe é verdadeira, uma vez que Sara é uma delegada.
- CanEdit é verdadeiro, uma vez que os delegados, incluindo Sara, têm acesso de gravação.
- owner está definido como Alex.
Observação
Um compartilhamento ou representante só pode personalizar a propriedade nome de um calendário compartilhado/delegado. A atualização é visível apenas para eles mesmos; o proprietário do calendário não vê essas alterações no nome do calendário.
Permissões do Microsoft Graph
Use a permissão delegada com menos privilégios, Calendars.Read.Shared, ou permissão de aplicativo, Calendars.Read, conforme apropriado, para esta operação. Para obter mais informações, confira permissões de calendário.
GET https://graph.microsoft.com/beta/users/meganb@contoso.com/calendars/AAMkADlAABhbftjAAA=
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('meganb%40contoso.com')/calendars/$entity",
"id": "AAMkADlAABhbftjAAA=",
"name": "Alex Wilber",
"color": "auto",
"hexColor": "",
"changeKey": "E6LznKWmX0KTsAD9qRJjeAAAYWo3EQ==",
"canShare": false,
"canViewPrivateItems": true,
"isShared": false,
"isSharedWithMe": true,
"canEdit": true,
"allowedOnlineMeetingProviders": [
"teamsForBusiness"
],
"defaultOnlineMeetingProvider": "teamsForBusiness",
"isTallyingResponses": true,
"isRemovable": true,
"owner": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
}
Obtenha ou defina a configuração de caixa de correio para receber solicitações de reunião e respostas
Nesta seção:
- Obter a configuração de entrega de delegação para a caixa de correio de um usuário
- Definir a configuração de entrega de delegação para a caixa de correio de um usuário
Dependendo do nível de delegação que um proprietário de calendário prefere, o proprietário poderá especificar quem deve receber solicitações de reunião e respostas para gerenciar as reuniões no calendário.
Programaticamente, você pode obter ou definir a propriedade delegateMeetingMessageDeliveryOptions do proprietário do calendário mailboxSettings para especificar para quem o Outlook deve direcionar as instânciaseventMessageRequest e eventMessageResponse:
sendToDelegateOnlyO Outlook para direcionar as instânciaseventMessageRequest e eventMessageResponse para delegados. Esta é a configuração padrão. O proprietário pode ver as respostas a uma reunião ou responder a um convite através do evento correspondente no calendário delegado.
sendToDelegateAndInformationToPrincipalO Outlook direciona as instânciaseventMessageRequest e eventMessageResponse para delegados e para o proprietário do calendário. Somente os representantes veem a opção de aceitar ou recusar uma solicitação de reunião, e a notificação enviada ao proprietário aparece como uma mensagem de e-mail normal. O proprietário ainda pode responder à reunião, abrindo o evento no calendário delegado e respondendo.
sendToDelegateAndPrincipalO Outlook direciona as instânciaseventMessageRequest e eventMessageResponse para delegados e para o proprietário do calendário, ou seja, que podem responder à solicitação de reunião.
Essa é uma configuração para toda a caixa de correio; portanto, a mesma configuração se aplica a todos os delegados do proprietário da caixa de correio.
Obter a configuração de entrega de delegação para a caixa de correio de um usuário
O exemplo nesta seção obtém as mailboxSettings de um proprietário de calendário que permite que o Outlook direcione solicitações e respostas de reunião apenas para delegados de calendário; ou seja, delegateMeetingMessageDeliveryOptions é definido como sendToDelegateOnly.
Permissões do Microsoft Graph
Use a permissão delegada ou de aplicativo com menos privilégios, MailboxSettings.Read, conforme apropriado, para esta operação. Para obter mais informações sobre permissões de caixa de correio, confira permissões de email.
GET https://graph.microsoft.com/beta/users/AlexW@contoso.com/mailboxsettings
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/mailboxSettings",
"archiveFolder": "AQMkADAwAGVQAAAKfowAAAA==",
"timeZone": "Pacific Standard Time",
"delegateMeetingMessageDeliveryOptions": "sendToDelegateOnly",
"dateFormat": "M/d/yyyy",
"timeFormat": "h:mm tt",
"automaticRepliesSetting": {
"status": "disabled",
"externalAudience": "all",
"internalReplyMessage": "",
"externalReplyMessage": "",
"scheduledStartDateTime": {
"dateTime": "2019-12-24T05:00:00.0000000",
"timeZone": "UTC"
},
"scheduledEndDateTime": {
"dateTime": "2019-12-25T05:00:00.0000000",
"timeZone": "UTC"
}
},
"language": {
"locale": "en-US",
"displayName": "English (United States)"
},
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "Pacific Standard Time"
}
}
}
Definir a configuração de entrega de delegação para a caixa de correio de um usuário
O exemplo nesta seção atualiza a propriedade delegateMeetingMessageDeliveryOptions para sendToDelegateAndPrincipal, para que o Outlook direcione solicitações de reunião e respostas do calendário delegado para todos os delegados e o proprietário.
Permissões do Microsoft Graph
Use a permissão delegada ou de aplicativo com menos privilégios, MailboxSettings.ReadWrite, conforme apropriado, para esta operação. Para obter mais informações sobre permissões de caixa de correio, confira permissões de email.
PATCH https://graph.microsoft.com/beta/users/AlexW@contoso.com/mailboxsettings
Content-type: application/json
{
"delegateMeetingMessageDeliveryOptions": "sendToDelegateAndPrincipal"
}
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/mailboxSettings",
"delegateMeetingMessageDeliveryOptions": "sendToDelegateAndPrincipal"
}
Exclua um compartilhamento ou um representante de um calendário.
No exemplo abaixo, Alex exclui Sara como um sharee do calendário "Festas infantis".
Permissões do Microsoft Graph
Use a permissão delegada ou de aplicativo com menos privilégios, Calendars.ReadWrite, conforme apropriado, para esta operação. Para obter mais informações, confira permissões de calendário.
DELETE https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendars/AAMkADAwAABf02bAAAA=/calendarPermissions/L289RXhjaGFuZ2VMYWJTWVnYW5C
HTTP/1.1 204 No Content
Conteúdo relacionado
- Compartilhar um calendário do Outlook com outras pessoas
- Permitir que outra pessoa gerencie o email e o calendário como delegado
- Compartilhar seu calendário no Outlook na Web
- Delegação de calendário no Outlook na Web
- Obter eventos do Outlook em um calendário compartilhado ou delegado
- Criar eventos do Outlook em um calendário compartilhado ou delegado