// 認証 private void auth_Click(object sender, RoutedEventArgs e) { if (String.IsNullOrEmpty(pinText.Text)) { return; } string pin = pinText.Text; pinText.Text = String.Empty; tokens = OAuth.GetTokens(session, pin); if (tokens == null) { MessageBox.Show("認証に失敗しました"); } else { MessageBoxResult ret = MessageBox.Show("認証に成功しました。認証情報を保存しますか?", "", MessageBoxButton.YesNo); if (ret == MessageBoxResult.Yes) { // トークン情報 AccessSettings accessSettings = new AccessSettings(); accessSettings.UserId = tokens.UserId; accessSettings.ConsumerKey = tokens.ConsumerKey; accessSettings.ConsumerSec = tokens.ConsumerSecret; accessSettings.AccessKey = tokens.AccessToken; accessSettings.AccessSec = tokens.AccessTokenSecret; // バイナリファイル BinaryFormatter bf = new BinaryFormatter(); System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Create); bf.Serialize(fs, accessSettings); fs.Close(); } } this.Close(); }
// ロード private void MetroWindow_Loaded(object sender, RoutedEventArgs e) { try { // マルチバトルリスト読み込み using (Stream stream = new FileStream(csvName, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (TextFieldParser parser = new TextFieldParser(stream, Encoding.Default)) { parser.TextFieldType = FieldType.Delimited; parser.Delimiters = new[] { "," }; parser.HasFieldsEnclosedInQuotes = true; parser.TrimWhiteSpace = true; while (!parser.EndOfData) { string[] fields = parser.ReadFields(); csvRecords.Add(fields); } } } } catch (IOException) { MessageBox.Show(csvName + "の読み込みに失敗しました"); this.Close(); } catch (Exception) { MessageBox.Show("予期せぬエラーが発生しました"); this.Close(); } try { // 設定ファイルが保存済み if (System.IO.File.Exists(fileName)) { // 設定ファイル読み込み BinaryFormatter bf = new BinaryFormatter(); FileStream fs = new FileStream(fileName, FileMode.Open); AccessSettings accessSettings = (AccessSettings)bf.Deserialize(fs); fs.Close(); tokens = Tokens.Create( accessSettings.ConsumerKey, accessSettings.ConsumerSec, accessSettings.AccessKey, accessSettings.AccessSec); if (tokens == null) { MessageBox.Show("認証に失敗しました"); } else { //MessageBox.Show("認証に成功しました"); var userinfo = tokens.Account.VerifyCredentials(); AccountLabel.Content = "連携中:" + userinfo.ScreenName; RaidType1.IsChecked = true; } } } catch (Exception) { MessageBox.Show("予期せぬエラーが発生しました"); return; } }