Извините за этот странный заголовок темы, но я не знал, как описать мою проблему лучше, чем эта.
В настоящее время я работаю над проектом Java, который использует Microsoft Graph API (это мой первый разя использую Microsoft Graph API).
Я думаю, что моя проблема - общая проблема с Java.У меня есть класс, который предоставляет клиент Graph API и второй класс со всеми операциями, которые я хочу выполнить с Graph API.Класс с методами операции должен возвращать результаты клиентскому классу.
Некоторый код.Мой клиентский класс (соответствующая часть, где я вызываю операцию):
client = GraphServiceClientManager.getInstance().getGraphServiceClient();
Operations task = new Operations(client);
System.out.println(task.getUsernamebyUPN("USER UPN"));
Мой класс с операциями:
public String username = "0";
public String getUsernamebyUPN(String UPN) {
client.users(UPN).buildRequest().get(new ICallback<User>() {
@Override
public void success(User user) {
username = user.displayName;
}
@Override
public void failure(ClientException ex) {
ex.printStackTrace();
}
});
return username;
}
Так что проблема в том, что когда я запускаю код, он возвращаетимя пользователя со значением 0 вместо имени пользователя, который я хочу.Переменная username будет изменена после возврата.
Если я добавлю System.out.prntln (имя пользователя) под "username = user.displayName;"строка в методе успеха будет иметь следующий вывод:
0
The username I want
Как я могу решить эту проблему?Вам нужно больше кода?
Большое спасибо за вашу помощь.:)