Outlook REST API - 登录用户的电子邮件地址

时间:2016-06-11 19:58:42

标签: office365 outlook-restapi

如何使用Outlook REST API获取登录用户的电子邮件地址?

我正在使用com.microsoft.services.outlook.fetchers.OutlookClienthttps://github.com/OfficeDev/Office-365-SDK-for-Java/blob/master/sdk/outlook-services/src/main/java/com/microsoft/services/outlook/fetchers/OutlookClient.java)。

是从JWT访问令牌中提取它的唯一方法(请参阅herehere)? (令牌here)的最新更改

由于

更新: 关注this approach

  • 获取收件箱父文件夹ID:

    mClient.getMe().getMailFolders().getById("Inbox").read()

    inboxMailFolderResult.getParentFolderId()

  • 使用检索到的ID

    获取父文件夹显示名称

    mClient.getMe().getMailFolders().getById("ID_RETRIEVED_AAA==").read()

    parentMailFolderResult.getDisplayName()

..似乎也没有用,我只是将信息存储作为显示名称。

2 个答案:

答案 0 :(得分:4)

Office 365 SDK for Java目前仅提供Outlook服务。我们还可以通过直接创建REST来获取登录用户的电子邮件地址。 以下是您参考的REST请求:

GET: https://outlook.office.com/api/v2.0/me
authorization: bearer {Token}

你会得到如下的回复: enter image description here

答案 1 :(得分:1)

按照FeiXue的回答,这是所需的代码:

Futures.addCallback(mClient.getMe().read(), new FutureCallback<User>() {
    @Override
    public void onSuccess(User result) {
        Log.d("APP", "Logged in user's email address: "+result.getEmailAddress());
    }

    @Override
    public void onFailure(@NonNull Throwable t) {
        Log.e("Email fetch failure. Cause:", t.getMessage());
    }
});
相关问题