diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs index 9d910fa9a..80f824a01 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs @@ -3044,19 +3044,7 @@ private void txtGfycatTitle_TextChanged(object sender, EventArgs e) private async void oauth2YouTube_OpenButtonClicked() { OAuth2Info oauth = new OAuth2Info(APIKeys.GoogleClientID, APIKeys.GoogleClientSecret); - GoogleOAuth2 oauthGoogle = new YouTube(oauth).OAuth2; - OAuthListener listener = new OAuthListener(oauthGoogle); - bool result = await listener.ConnectAsync(); - if (result) - { - Config.YouTubeOAuth2Info = listener.OAuth.AuthInfo; - } - else - { - Config.YouTubeOAuth2Info = null; - } - this.ForceActivate(); - ConfigureOAuthStatus(oauth2YouTube, result); + Config.YouTubeOAuth2Info = await OAuth2Loopback(new YouTube(oauth).OAuth2); } private void oauth2YouTube_CompleteButtonClicked(string code) diff --git a/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs b/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs index 51a66de51..0c0b96261 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs @@ -1084,6 +1084,22 @@ private bool OAuth2Complete(IOAuth2Basic uploader, string code, OAuthControl con return false; } + private async Task OAuth2Loopback(IOAuth2Loopback oauth) + { + OAuthListener listener = new OAuthListener(oauth); + bool result = await listener.ConnectAsync(); + + this.ForceActivate(); + ConfigureOAuthStatus(oauth2YouTube, result); + + if (result) + { + return listener.OAuth.AuthInfo; + } + + return null; + } + private bool OAuth2Refresh(IOAuth2 uploader, OAuthControl oauth2) { try