アプリケーションの Google サービスへのアクセスをユーザーに承認させる必要がある Java アプリケーションがあります。必要な承認を表示して取得するために、次のコードを用意しました。
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();
ユーザーが「承認」または「キャンセル」ボタンをクリックすると、すべて問題ありません。ただし、ブラウザ ウィンドウを閉じると、アプリケーション全体がフリーズします。フリーズを防止したり、タイムアウトを導入したりするために、このケースを処理する方法はありますか?