在我的GWT应用程序中,我使用com.google.api.gwt.oauth2.OAuth2
模块允许用户使用OAuth登录。我已经实施了一个GoogleApi类来提供OAuth登录,如下所示:
public final class GoogleApi {
private EventBus eventBus;
private final ClientOAuth2Login oAuth2Login;
private ClientGoogleApiRequestTransport requestTransport;
private String accessToken;
public GoogleApi(final EventBus eventBus, String clientId) {
this.eventBus = eventBus;
oAuth2Login = new ClientOAuth2Login(clientId);
}
...
public void login(final Receiver<String> callback) {
oAuth2Login.login(new Receiver<String>() {
@Override
public void onSuccess(String response) {
accessToken = response;
callback.onSuccess(response);
}
@Override
public void onFailure(ServerFailure error) {
Window.alert(error.getMessage());
}
});
}
...
}
我正在调用此login()方法,如下所示:
googleApi.login(new Receiver<String>() {
@Override
public void onSuccess(final String token) {
// I want to get the logged in user's name here
}
@Override
public void onFailure(ServerFailure error) {
...
}
});
成功登录后,我想获取登录用户的全名。我知道我可以使用com.google.api.gwt.services.Plus
模块获取用户名,但这需要用户注册到Google Plus,如果不是,则会抛出错误。
如何在我的GWT应用中使用OAuth进行此操作?基本上,我希望能够在GWT应用中实现this solution,如果可能的话。
答案 0 :(得分:1)
你看到了吗?我觉得这很有用。然而,实现简单结果的代码很多: