Obter contatos do Outlook em uma pasta compartilhada

O Outlook permite que os clientes compartilhem pastas entre si e forneçam acesso de "leitura", "criação", "modificação" ou "exclusão" a pastas de contatos individuais. O Outlook também permite que um cliente delegar outro usuário para agir em nome do cliente e acessar pastas específicas ou toda a caixa de correio do cliente; isso também é conhecido como delegação no Outlook.

O Microsoft Graph oferece suporte de forma programática à obtenção de contatos em pastas de contatos que foram compartilhadas por outros usuários, além de receber as pastas compartilhadas em si. O suporte também se aplica a pastas em uma caixa de correio delegada.

Por exemplo, Henrique compartilhou com Diogo uma pasta de contatos personalizada e deu a ele acesso de leitura. Se John entrou em seu aplicativo e forneceu permissões delegadas (Contacts.Read.Shared ou Contacts.ReadWrite.Shared), seu aplicativo poderá acessar a pasta de contato personalizada de Garth e os contatos nessa pasta. Para obter detalhes, confira as seções a seguir.

Observação

As permissões de compartilhamento (Contacts.Read.Shared ou Contacts.ReadWrite.Shared) permitem ler ou gravar contatos em uma pasta compartilhada ou delegada. Eles não têm suporte subscrever alterar notificações em itens nessas pastas. Para configurar as assinaturas de notificação de alteração nos contatos na pasta de contatos compartilhada, representante ou qualquer outra de um usuário no locatário, use a permissão de aplicativo Contacts.Read.

Obter um contato na pasta compartilhada

Você pode obter um contato específico na pasta de contatos personalizada que Henrique compartilhou com Diogo:

GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}/contacts/{id}

Após a conclusão bem-sucedida, você receberá HTTP 200 OK e a instância de contact identificada por {id} da pasta de contatos compartilhada de Henrique.

Obter todos os contatos na pasta compartilhada

Obtenha todos os contatos na pasta de contatos compartilhada do Henrique:

GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}/contacts

Após a conclusão bem-sucedida, você receberá HTTP 200 OK e uma coleção de instâncias de contact na pasta de contatos compartilhada de Henrique.

Obter a pasta compartilhada

Obtenha a pasta de contatos que Henrique compartilhou com Diogo.

GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}

Após a conclusão bem-sucedida, você receberá HTTP 200 OK e uma instância de contactFolder que representa a pasta de contatos compartilhada de Henrique.

As mesmas funcionalidades GET se aplicariam se Henrique tivesse delegado a Diogo toda a sua caixa de correio.

Se Garth não tiver compartilhado a pasta de contato com John, nem delegou sua caixa de correio para John, especificando a ID do usuário ou o nome da entidade de usuário de Garth nessas operações GET retornará um erro.

Próximas etapas

Saiba mais sobre: