-
Couldn't load subscription status.
- Fork 146
Description
Prerequisites
I'm trying to fetch mailboxSettings property for 'sandbox' user 48d31887-5fad-4d73-a9f5-3c356e68a038 via msgraph java SDK. For MS Graph API explorer it would be following URL: 'https://graph.microsoft.com/v1.0/users/48d31887-5fad-4d73-a9f5-3c356e68a038?$select=mailboxSettings'.
Expected behavior
User is read successfully
Actual behavior
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 866 path $.mailboxSettings.workingHours.startTime
Steps to reproduce the behavior
Try to deserialise a response of https://graph.microsoft.com/v1.0/me/?$select=mailboxSettings
DefaultSerializer defaultSerializer = new DefaultSerializer(new ILogger() {
@Override
public void setLoggingLevel(LoggerLevel loggerLevel) {
}
@Override
public LoggerLevel getLoggingLevel() {
return LoggerLevel.DEBUG;
}
@Override
public void logDebug(String s) {
}
@Override
public void logError(String s, Throwable throwable) {
}
});
User user = defaultSerializer.deserializeObject("\n"
+ "{\n"
+ " \"@odata.context\": \"https://graph.microsoft.com/v1.0/$metadata#users(mailboxSettings)/$entity\",\n"
+ " \"id\": \"48d31887-5fad-4d73-a9f5-3c356e68a038@dcd219dd-bc68-4b9b-bf0b-4a33a796be35\",\n"
+ " \"mailboxSettings\": {\n"
+ " \"archiveFolder\": \"AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAFNAAA=\",\n"
+ " \"timeZone\": \"Pacific Standard Time\",\n"
+ " \"automaticRepliesSetting\": {\n"
+ " \"status\": \"disabled\",\n"
+ " \"externalAudience\": \"all\",\n"
+ " \"internalReplyMessage\": \"\",\n"
+ " \"externalReplyMessage\": \"\",\n"
+ " \"scheduledStartDateTime\": {\n"
+ " \"dateTime\": \"2018-11-27T00:00:00.0000000\",\n"
+ " \"timeZone\": \"UTC\"\n"
+ " },\n"
+ " \"scheduledEndDateTime\": {\n"
+ " \"dateTime\": \"2018-11-28T00:00:00.0000000\",\n"
+ " \"timeZone\": \"UTC\"\n"
+ " }\n"
+ " },\n"
+ " \"language\": {\n"
+ " \"locale\": \"en-US\",\n"
+ " \"displayName\": \"English (United States)\"\n"
+ " },\n"
+ " \"workingHours\": {\n"
+ " \"daysOfWeek\": [\n"
+ " \"monday\",\n"
+ " \"tuesday\",\n"
+ " \"wednesday\",\n"
+ " \"thursday\",\n"
+ " \"friday\"\n"
+ " ],\n"
+ " \"startTime\": \"08:00:00.0000000\",\n"
+ " \"endTime\": \"17:00:00.0000000\",\n"
+ " \"timeZone\": {\n"
+ " \"name\": \"Pacific Standard Time\"\n"
+ " }\n"
+ " }\n"
+ " }\n"
+ "}", User.class);
PS
There probably should be type adapter registered for TimeOfDay.class in com.microsoft.graph.serializer.GsonFactory#getGsonInstance