我有一个 Java 应用程序需要让用户授权我的应用程序访问 Google 服务。我有以下代码来显示和获得我需要的授权:
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(httpTransport, JsonFactory, clientSecrets, scopes).build();
Credential cred = null;
try
{
LocalServerReceiver localSrv = new LocalServerReceiver();
AuthorizationCodeInstalledApp app = new AuthorizationCodeInstalledApp(flow, localSrv);
cred = app.authorize(userName);
}
catch(Exception ex)
{
ex.printStackTrace();
}
refreshToken = cred.getRefreshToken();
如果用户单击“授权”或“取消”按钮,一切都很好。但是,如果他们关闭浏览器窗口,整个应用程序就会冻结。有没有办法处理这种情况以防止冻结或引入超时?