如何使用Outlook REST API获取登录用户的电子邮件地址?
我正在使用com.microsoft.services.outlook.fetchers.OutlookClient
(https://github.com/OfficeDev/Office-365-SDK-for-Java/blob/master/sdk/outlook-services/src/main/java/com/microsoft/services/outlook/fetchers/OutlookClient.java)。
是从JWT访问令牌中提取它的唯一方法(请参阅here和here)? (令牌here)的最新更改
由于
更新: 关注this approach:
获取收件箱父文件夹ID:
mClient.getMe().getMailFolders().getById("Inbox").read()
inboxMailFolderResult.getParentFolderId()
使用检索到的ID
获取父文件夹显示名称 mClient.getMe().getMailFolders().getById("ID_RETRIEVED_AAA==").read()
parentMailFolderResult.getDisplayName()
..似乎也没有用,我只是将信息存储作为显示名称。
答案 0 :(得分:4)
Office 365 SDK for Java目前仅提供Outlook服务。我们还可以通过直接创建REST来获取登录用户的电子邮件地址。 以下是您参考的REST请求:
GET: https://outlook.office.com/api/v2.0/me
authorization: bearer {Token}
答案 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());
}
});