public void Authenticate(string verifier) { TwitterOAuth.TokenPair tokens = OAuth.AccessToken(verifier); if (tokens == null) { OAuth = null; Status = UserStatus.NO_CREDITIONAL; return; } setting.SetValue(section, "AccessToken", OAuth.User.Token = tokens.Token); setting.SetValue(section, "AccessSecret", OAuth.User.Secret = tokens.Secret); setting.Save(); MyUserInfo = getMyUserInfo(); Status = MyUserInfo == null ? UserStatus.INVALID_CREDITIONAL : UserStatus.LOGIN_SUCCESS; }
static void Main(string[] args) { switch (args.Length) { case 0: break; case 1: twit_file = args[0]; break; case 2: twit_file = args[0]; ini_file = args[1]; break; default: Console.WriteLine("Usage : {0} [[twit_file] [ini_file]]", System.AppDomain.CurrentDomain.FriendlyName); return; } Log.Init(); var setting = new INIParser(ini_file); var AuthData = "Authenticate"; string consumerKey = setting.GetValue(AuthData, "ConsumerKey"); string consumerSecret = setting.GetValue(AuthData, "CconsumerSecret"); string accessToken = setting.GetValue(AuthData, "AccessToken"); string accessSecret = setting.GetValue(AuthData, "AccessSecret"); if (string.IsNullOrWhiteSpace(consumerKey) || string.IsNullOrWhiteSpace(consumerSecret)) { Log.Error("Program", "Unable to get consumerKey / Secret. Please check config file."); if (string.IsNullOrWhiteSpace(consumerKey)) { setting.SetValue(AuthData, "ConsumerKey", ""); } if (string.IsNullOrWhiteSpace(consumerSecret)) { setting.SetValue(AuthData, "CconsumerSecret", ""); } if (string.IsNullOrWhiteSpace(accessToken)) { setting.SetValue(AuthData, "AccessToken", ""); } if (string.IsNullOrWhiteSpace(accessSecret)) { setting.SetValue(AuthData, "AccessSecret", ""); } setting.Save(); return; } else if (string.IsNullOrWhiteSpace(accessToken) || string.IsNullOrWhiteSpace(accessSecret)) { oAuth = new OAuth(consumerKey, consumerSecret); OAuth.TokenPair tokens = null; tokens = oAuth.RequestToken(); oAuth.User.Token = tokens.Token; oAuth.User.Secret = tokens.Token; try { using (Process.Start(new ProcessStartInfo { UseShellExecute = true, FileName = "https://api.twitter.com/oauth/authorize?oauth_token=" + tokens.Token })) { } } catch { } string verifier; int i; do { Console.Write("Please input verifier code : "); verifier = Console.ReadLine(); } while (!int.TryParse(verifier, out i)); tokens = oAuth.AccessToken(verifier); if (tokens != null) { oAuth.User.Token = tokens.Token; oAuth.User.Secret = tokens.Token; accessToken = oAuth.User.Token; accessSecret = oAuth.User.Secret; setting.SetValue(AuthData, "AccessToken", tokens.Token); setting.SetValue(AuthData, "AccessSecret", tokens.Secret); setting.Save(); } setting.Save(); } else { oAuth = new OAuth(consumerKey, consumerSecret, accessToken, accessSecret); } if (oAuth.User.Token != null) { Publish(new FileInfo(twit_file)); } }