2016-06-11 4 views
1

Как получить зарегистрированный адрес электронной почты пользователя с помощью API Outlook REST?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)

Благодарности

UPDATE: После this approach:

  • Получить Входящие родительскую папку ID:

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

    inboxMailFolderResult.getParentFolderId()

  • Получить отображаемое имя родительской папки с помощью ID извлекаться

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

    parentMailFolderResult.getDisplayName()

..doesn't, кажется, работают либо, я просто получить Наверх Information Store как дисплей наименование.

ответ

4

В настоящее время Office 365 SDK для Java предоставляет услугу Outlook. Мы также можем получить адрес электронной почты пользователя входа через метаданные, сделав REST напрямую. Вот запрос REST для справки:

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

Вы получите ответ, как показано ниже: enter image description here

+0

Спасибо, что это Мне нужна информация. Поэтому для меня будет работать «mClient.getMe(). Read()». +1 –

+0

Невозможно получить псевдонимы электронной почты, также связанные с учетной записью? – jwg2s

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()); 
    } 
});