В настоящее время я могу успешно получить фотографию пользователя (пользователь/фото/контент) с помощью Microsoft Graph SDK для Java. Если я использую API (пользователь/фото), выдается Microsoft.Fast.Profile.Core.Exception.ImageNotFoundException.
К сожалению, мне не хватает способа проверить, существует ли фотография совсем. Свойство photo объекта пользователя (API: /user ->user.getPhoto()) всегда имеет значение NULL. Я считаю это очень плохим и нелогичным.
Кто-нибудь уже реализовал это успешно или есть идеи?
var user = graphClient.users().byUserId(user.getId()).get();
var photo = graphClient.users().byUserId(user.getId()).photo().get(); // photo meta data
// if(user.getPhoto() != null) // always null, even tried with expand user.photo;
if (photo != null) { // throws exception if photo is empty
var photoStream = graphClient.users().byUserId(user.getId()).photo().content().get(); // works and is filled
byte[] photoBytes = photoStream.readAllBytes();
photoStream.read(photoBytes);
var base64Photo = Base64.getEncoder().encodeToString(photoBytes);
System.out.println(base64Photo);
if (photo.getAdditionalData().containsKey(MEDIA_CONTENT_TYPE)) {
var mimeType = photo.getAdditionalData().get(MEDIA_CONTENT_TYPE);
System.out.println(mimeType);
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... oto-exists
Microsoft Graph SDK для Java — проверьте, существует ли фотография пользователя ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Microsoft Graph Java SDK аннулирует токен обновления или сеанс пользователя не работает
Anonymous » » в форуме JAVA - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-