Usando Graph API, buscamos um certo evento do Outlook. O evento inclui, entre outros detalhes, as informações do organizador no seguinte formato:
"organizer": {
"emailAddress": {
"address": "[email protected]",
"name": "myroom"
}
}
Quando tentamos recuperar mais informações sobre esse usuário usando o ponto de extremidade da API do Graph /users/{id | userPrincipalName}, às vezes encontramos uma resposta indicando que o usuário não existe.
Após investigação nas configurações do Exchange Online (Office 365), descobrimos que alguns usuários têm aliases ou endereços de e-mail SMTP secundários/alternativos configurados, e esses endereços secundários estão sendo incluídos no objeto emailAddress do organizador na resposta da Graph API. Isso significa que o campo de endereço nos dados do evento pode se referir a um desses endereços secundários em vez do e-mail principal do usuário ou do Nome Principal do Usuário (UPN).
Pergunta:
Existe uma maneira de recuperar as informações do usuário usando o endpoint da API Graph /users sem depender somente do Nome Principal do Usuário? Como alternativa, existe um método para determinar o Nome Principal do Usuário ou o ID do Objeto do usuário usando seus endereços de e-mail secundários?
Restrições: Não podemos modificar as configurações do Exchange Online porque elas são gerenciadas por nossos clientes.
Todos os endereços de e-mail primários e secundários farão parte da propriedade ProxyAddresses, então você pode simplesmente fazer um filtro para resolver qualquer endereço válido de volta para o ID do objeto para o usuário, o que deve sempre funcionar, por exemplo
então: