Beispiel #1
0
        public static async Task <bool> MainAsync()
        {
            try
            {
                Console.WriteLine("Starting demo of InstaSharper project");
                // create user session data and provide login details
                var userSession = new UserSessionData
                {
                    UserName = "******",
                    Password = "******"
                };

                // create new InstaApi instance using Builder
                _instaApi = new InstaApiBuilder()
                            .SetUser(userSession)
                            .UseLogger(new DebugFileLogger())         // use logger for requests and debug messages
                            .SetRequestDelay(TimeSpan.FromSeconds(1)) // set delay between requests
                            .Build();

                // login
                Console.WriteLine($"Logging in as {userSession.UserName}");
                var logInResult = await _instaApi.LoginAsync();

                if (!logInResult.Succeeded)
                {
                    Console.WriteLine($"Unable to login: {logInResult.Info.Message}");
                }
                else
                {
                    Console.WriteLine("Press 1 to start basic demo samples");
                    Console.WriteLine("Press 2 to start upload photo demo sample");
                    Console.WriteLine("Press 3 to start comment media demo sample");

                    var key = Console.ReadKey();
                    Console.WriteLine(Environment.NewLine);
                    switch (key.Key)
                    {
                    case ConsoleKey.D1:
                        var basics = new Basics(_instaApi);
                        await basics.DoShow();

                        break;

                    case ConsoleKey.D2:
                        var upload = new UploadPhoto(_instaApi);
                        await upload.DoShow();

                        break;

                    case ConsoleKey.D3:
                        var comment = new CommentMedia(_instaApi);
                        await comment.DoShow();

                        break;

                    default:
                        break;
                    }
                    Console.WriteLine("Done. Press esc key to exit...");
                    key = Console.ReadKey();
                    return(key.Key == ConsoleKey.Escape);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                var logoutResult = Task.Run(() => _instaApi.LogoutAsync()).GetAwaiter().GetResult();
                if (logoutResult.Succeeded)
                {
                    Console.WriteLine("Logout succeed");
                }
            }
            return(false);
        }