问题
I am working on an application which lists a number of people from your Office365 Outlook Contacts. I can get the contacts with the Exchange Web Services. From there I know the contact item ID. But is there any way to create a clickable link that, if there is an open browser session with Office 365, shows that specific contact within the browser?
回答1:
I found this example for e-mail:
http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.item.webclientreadformquerystring(v=exchg.80).aspx
Example url for a contact, by using contact.WebClientReadFormQueryString:
"https://outlook.office365.com/owa/?ItemID=AAMkADYxMmVkZjVkLTVjMmQtNDgxMC1iMDY1LWVkY2U2ZGMzNDcwOABGAAAAAABG6y7fCOAuSoTyelb8%2BBhzBwBkKbdzLh23R5sshtN5ElpGAAAAAAEPAABkKbdzLh23R5sshtN5ElpGAAAasnQqAAA%3D&exvsurl=1&viewmodel=PersonaCardViewModelFactory"
Unfortunally, calling this URL results in OWA remaining in a loading screen.
回答2:
Yes there is. The property is called WebClientReadFormQueryString. You will use the value of that property build the URL to make a link to the client from OWA. I think the base URL is "https://outlook.office365.com"
回答3:
I ran into the same problem on calendars with CalendarItemDetailsViewModelFactory, after much debugging I was at a loss but saw someone express how to manually generate a link for calendars on older version. Then I realized MS was not returning the viewmodel as an interface they expected (ICalendarItemDetailsViewModelFactory). Appending I in front of the name worked on calendar, however PersonaCardViewModelFactory seems to still be at a loss even when changing it to IPersonaCardViewModelFactory. Only choice left is to call MS.
来源:https://stackoverflow.com/questions/20947392/how-to-find-the-url-to-a-specific-contact-in-office365