我仍在努力尝试在开发中的插件中下拉已登录(Outlook)用户的详细信息。
我已经探讨过EWS服务,但据我所知,我所需的功能不可用,因此我开始研究Outlook REST API。
我可以通过以下呼叫获得非常基本的用户详细信息:
function sendFindPersonRequest() {
//get auth token for Graph
Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
if (result.status === "succeeded") {
var accessToken = result.value;
console.log('REST Access Token : ' + accessToken);
// Use the access token.
getCurrentItem(accessToken);
} else {
// Handle the error.
}
});}
function getCurrentItem(accessToken) {
// Construct the REST URL to the current item.
// Details for formatting the URL can be found at
// https://docs.microsoft.com/previous-versions/office/office-365-api/api/version-2.0/mail-rest-operations#get-messages.
var getMessageUrl = Office.context.mailbox.restUrl +
'/v2.0/me/';
$.ajax({
url: getMessageUrl,
dataType: 'json',
headers: { 'Authorization': 'Bearer ' + accessToken }
}).done(function (item) {
// Message is passed in `item`.
var subject = item.displayName;
console.log('item subject: ' + subject);
}).fail(function (error) {
// Handle error.
});
}
但是,除了Alias,DisplayName和Emailaddress之外,它不会传递任何其他内容。
@odata.context: "https://outlook.office365.com/api/v2.0/$metadata#Me"
@odata.id: "https://outlook.office365.com/api/v2.0/Users('')"
Alias: "Joe.Bloggs"
DisplayName: ""
EmailAddress: "[email protected]"
Id: "baf52ae4-............"
MailboxGuid: "257f3fe1-6.............."
我希望获得扩展的详细信息,例如Jobtitle,OfficeAddress等(它们是标准的AD字段)。
我也查看了GetUser方法,但返回的结果相同。我真的不想沿着Graph路线走下去,感觉到我确实缺少一些东西,就像我真正期望的那些其他领域一样。
还有其他人用它来更好地影响吗?
谢谢
我没有看到我们可以在哪里基于Office 365 Data Extensions和Outlook Extended Properties为用户创建扩展。
Microsoft.OutlookServices.User也没有Jobtitle,OfficeAddress等属性。>
[当我尝试使用OData $select
查询参数,例如:
https://outlook.office365.com/api/v2.0/me?$select=DisplayName,Jobtitle,OfficeAddress
它将给出错误:
"Could not find a property named 'Jobtitle' on type 'Microsoft.OutlookServices.User'."
恐怕Outlook REST API中没有您想要的东西。您应该改用Microsoft Graph API或AAD Graph API。