private static void Main(string[] args) { //try //{ // var jtk = Newtonsoft.Json.Linq.JToken.Parse(System.IO.File.ReadAllText("json1.json")); // var result = jtk.ToObject<List<Repo>>(); //} //catch (Exception ex) //{ //} Console.WriteLine("Hello World!"); Task.Run(async() => { try { SDK.client_id = SdkConfig.client_id; SDK.client_secret = SdkConfig.client_secret; //var client = await SDK.LoginAsync(SdkConfig.username, SdkConfig.password); var client = SDK.LoginByToken(SdkConfig.Token); var g = await client.CreateGists("test.txt", "test code", "测试代码", true); var g2 = await client.CreateGists("test1.txt", "test code1", "测试代码", false); var user = await client.GetUserAsync(); var poject = await client.GetReposAsync(1, 20); var ooox = await SDK.RefreshToken(client.Token.refresh_token); var oooxxx = await ooox.GetUserAsync(); var o = SDK.ContinueByToken(ooox.Token.refresh_token, ooox.Token.access_token, ooox.Token.Expires); var oxx = await o.GetUserAsync(); // await client.CreateRepoAsync("test" + DateTime.Now.ToString("yyyyMMddHHmmss"), DateTime.Now.ToString(), true); await client.CreateRepoAsync("testpublic1122211", "", false); } catch (Exception ex) { Console.WriteLine(ex.Message); } }).Wait(); }
private async Task LoadUserAsync() { try { Gitee.Api.SDK.client_id = Gitee.Api.SdkConfig.client_id; Gitee.Api.SDK.client_secret = Gitee.Api.SdkConfig.client_secret; var token = GetAccessToken(); _user = new User(); if (string.IsNullOrEmpty(token.access_token) || DateTime.Now > token.exp) { if (!string.IsNullOrEmpty(token.refresh_token)) { try { _user.Session = await SDK.RefreshToken(token.refresh_token); SaveToken(_user); } catch (Exception) { _user.Session = null; } } } else { _user.Session = SDK.ContinueByToken(token.refresh_token, token.access_token, token.exp); } if (_user.Session != null) { _user.Username = token.username; if (_user.Detail == null) { _user.Detail = await _user.Session.GetUserAsync(); } } } catch (Exception ex) { _user.Session = null; } try { if (_user.Session == null) { var key = "git:https://gitee.com"; using (var credential = new Credential()) { credential.Target = key; credential.Load(); _user.Username = credential.Username; _user.Session = await SDK.LoginAsync(credential.Username, credential.Password); SaveToken(_user); _user.Detail = await _user.Session.GetUserAsync(); } } } catch (Exception ex) { throw new Exception("用户登录凭证无效,请重新登陆", ex); } finally { if (_user?.Session == null || _user?.Detail == null) { _user = null; } } }