Outlook REST API - 获取登录用户的电子邮件地址
Outlook REST API - Get logged in user's email address
如何使用 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 and here)?
(代币的最新变化 here)
谢谢
更新:
正在关注 this approach:
获取收件箱父文件夹 ID:
mClient.getMe().getMailFolders().getById("Inbox").read()
inboxMailFolderResult.getParentFolderId()
使用检索到的 ID 获取父文件夹显示名称
mClient.getMe().getMailFolders().getById("ID_RETRIEVED_AAA==").read()
parentMailFolderResult.getDisplayName()
..似乎也不起作用,我只是将 Top of Information Store 作为显示名称。
Office 365 SDK for Java目前只提供Outlook服务。我们还可以通过直接制作 REST 通过元数据获取登录用户的电子邮件地址。
这是供您参考的 REST 请求:
GET: https://outlook.office.com/api/v2.0/me
authorization: bearer {Token}
您将得到如下响应:
根据飞雪的回答,这是需要的代码:
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());
}
});
如何使用 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 and here)? (代币的最新变化 here)
谢谢
更新: 正在关注 this approach:
获取收件箱父文件夹 ID:
mClient.getMe().getMailFolders().getById("Inbox").read()
inboxMailFolderResult.getParentFolderId()
使用检索到的 ID 获取父文件夹显示名称
mClient.getMe().getMailFolders().getById("ID_RETRIEVED_AAA==").read()
parentMailFolderResult.getDisplayName()
..似乎也不起作用,我只是将 Top of Information Store 作为显示名称。
Office 365 SDK for Java目前只提供Outlook服务。我们还可以通过直接制作 REST 通过元数据获取登录用户的电子邮件地址。 这是供您参考的 REST 请求:
GET: https://outlook.office.com/api/v2.0/me
authorization: bearer {Token}
您将得到如下响应:
根据飞雪的回答,这是需要的代码:
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());
}
});