mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-28 23:42:13 +12:00
Added UserInfo support
This commit is contained in:
parent
ffaed07605
commit
fc294e69ca
7 changed files with 21 additions and 6 deletions
|
@ -68,7 +68,7 @@ public YouTube(OAuth2Info oauth)
|
|||
{
|
||||
OAuth2 = new GoogleOAuth2(oauth, this)
|
||||
{
|
||||
Scope = "https://www.googleapis.com/auth/youtube.upload"
|
||||
Scope = "https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/userinfo.profile"
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -733,6 +733,7 @@ private void LoadFileUploaderSettings()
|
|||
#region YouTube
|
||||
|
||||
oauth2YouTube.Connected = OAuth2Info.CheckOAuth(Config.YouTubeOAuth2Info);
|
||||
oauth2YouTube.UserInfo = Config.YouTubeUserInfo;
|
||||
cbYouTubePrivacyType.Items.Clear();
|
||||
cbYouTubePrivacyType.Items.AddRange(Helpers.GetLocalizedEnumDescriptions<YouTubeVideoPrivacy>());
|
||||
cbYouTubePrivacyType.SelectedIndex = (int)Config.YouTubePrivacyType;
|
||||
|
@ -3046,16 +3047,20 @@ private void oauth2YouTube_ConnectButtonClicked()
|
|||
{
|
||||
form.ShowDialog();
|
||||
Config.YouTubeOAuth2Info = form.OAuth2Info;
|
||||
Config.YouTubeUserInfo = form.UserInfo;
|
||||
}
|
||||
|
||||
oauth2YouTube.Connected = Config.YouTubeOAuth2Info != null;
|
||||
oauth2YouTube.UserInfo = Config.YouTubeUserInfo;
|
||||
this.ForceActivate();
|
||||
}
|
||||
|
||||
private void oauth2YouTube_DisconnectButtonClicked()
|
||||
{
|
||||
Config.YouTubeOAuth2Info = null;
|
||||
Config.YouTubeUserInfo = null;
|
||||
oauth2YouTube.Connected = false;
|
||||
oauth2YouTube.UserInfo = null;
|
||||
}
|
||||
|
||||
private void llYouTubePermissionsLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
|
|
|
@ -66,7 +66,7 @@ public GooglePhotos(OAuth2Info oauth)
|
|||
{
|
||||
GoogleAuth = new GoogleOAuth2(oauth, this)
|
||||
{
|
||||
Scope = "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/photoslibrary https://www.googleapis.com/auth/photoslibrary.sharing"
|
||||
Scope = "https://www.googleapis.com/auth/photoslibrary https://www.googleapis.com/auth/photoslibrary.sharing https://www.googleapis.com/auth/userinfo.profile"
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@ namespace ShareX.UploadersLib
|
|||
{
|
||||
public interface IOAuth2Loopback : IOAuth2
|
||||
{
|
||||
OAuthUserInfo GetUserInfo();
|
||||
|
||||
string RedirectURI { get; set; }
|
||||
string State { get; set; }
|
||||
string Scope { get; set; }
|
||||
|
|
|
@ -34,6 +34,7 @@ public partial class OAuthListenerForm : Form
|
|||
{
|
||||
public IOAuth2Loopback OAuth { get; private set; }
|
||||
public OAuth2Info OAuth2Info { get; private set; }
|
||||
public OAuthUserInfo UserInfo { get; private set; }
|
||||
|
||||
private OAuthListener listener;
|
||||
|
||||
|
@ -47,7 +48,7 @@ public OAuthListenerForm(IOAuth2Loopback oauth)
|
|||
|
||||
private async void OAuthListenerForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
OAuth2Info = await ConnectAsync(OAuth);
|
||||
await ConnectAsync(OAuth);
|
||||
|
||||
Close();
|
||||
}
|
||||
|
@ -62,8 +63,11 @@ private void btnCancel_Click(object sender, EventArgs e)
|
|||
Close();
|
||||
}
|
||||
|
||||
private async Task<OAuth2Info> ConnectAsync(IOAuth2Loopback oauth)
|
||||
private async Task<bool> ConnectAsync(IOAuth2Loopback oauth)
|
||||
{
|
||||
OAuth2Info = null;
|
||||
UserInfo = null;
|
||||
|
||||
try
|
||||
{
|
||||
using (listener = new OAuthListener(oauth))
|
||||
|
@ -72,7 +76,9 @@ private async Task<OAuth2Info> ConnectAsync(IOAuth2Loopback oauth)
|
|||
|
||||
if (result)
|
||||
{
|
||||
return listener.OAuth.AuthInfo;
|
||||
OAuth2Info = listener.OAuth.AuthInfo;
|
||||
UserInfo = await Task.Run(() => oauth.GetUserInfo());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +88,7 @@ private async Task<OAuth2Info> ConnectAsync(IOAuth2Loopback oauth)
|
|||
e.ShowError();
|
||||
}
|
||||
|
||||
return null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -31,5 +31,6 @@ public class OAuthUserInfo
|
|||
public string name { get; set; }
|
||||
public string given_name { get; set; }
|
||||
public string picture { get; set; }
|
||||
public string locale { get; set; }
|
||||
}
|
||||
}
|
|
@ -421,6 +421,7 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
|
|||
#region YouTube
|
||||
|
||||
public OAuth2Info YouTubeOAuth2Info { get; set; } = null;
|
||||
public OAuthUserInfo YouTubeUserInfo { get; set; } = null;
|
||||
public YouTubeVideoPrivacy YouTubePrivacyType { get; set; } = YouTubeVideoPrivacy.Public;
|
||||
public bool YouTubeUseShortenedLink { get; set; } = false;
|
||||
public bool YouTubeShowDialog { get; set; } = false;
|
||||
|
|
Loading…
Reference in a new issue