很抱歉这个奇怪的帖子标题,但我不知道如何比这个更好地描述我的问题。
我目前正在开发一个使用Microsoft Graph API的Java项目(这是我第一次使用Microsoft Graph API)。
我认为我的问题是Java的一个普遍问题。我有一个类,它提供了一个Graph API客户端,第二个类包含我想要使用Graph API执行的所有操作。包含操作方法的类应该将结果返回给client类。
一些代码。我的客户端类(调用操作的相关部分):
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= user.displayName;”行下面添加一个用户名(Username),我的输出将是:
0
The username I want我该如何解决这个问题?你需要更多的代码吗?
非常感谢你的帮助。:)
https://stackoverflow.com/questions/56247145
复制相似问题