Example #1
0
        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();
        }
Example #2
0
        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;
                }
            }
        }