登录到Outlook Web Addin时获取用户广告详细信息

问题描述 投票:0回答:1

我仍在努力尝试在开发中的插件中下拉已登录(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路线走下去,感觉到我确实缺少一些东西,就像我真正期望的那些其他领域一样。

还有其他人用它来更好地影响吗?

谢谢

azure-active-directory office-js office-addins outlook-web-addins outlook-restapi
1个回答
0
投票

我没有看到我们可以在哪里基于Office 365 Data ExtensionsOutlook 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。

© www.soinside.com 2019 - 2024. All rights reserved.