/// <summary> /// xAuthによってAccessToken,AccessTokenSecretを取得します。これはxAuthが許可されたトークンでのみ使用する事が出来ます。 /// </summary> /// <param name="screenName">ユーザー名</param> /// <param name="password">パスワード</param> /// <returns>TwitterContext。失敗した場合はNull</returns> public async Task <Twitter> GetAccessTokenFromXAuth(string screenName, string password) { var tw = new Twitter(this.ConsumerKey, this.ConsumerSecret); string res = await tw.OAuthGetAccessToken(screenName, password); if (!string.IsNullOrEmpty(res)) { string access_token = Utility.AnalyzeUrlQuery.Analyze(res, "oauth_token"); string access_token_secret = Utility.AnalyzeUrlQuery.Analyze(res, "oauth_token_secret"); var id = Int64.Parse(Utility.AnalyzeUrlQuery.Analyze(res, "user_id")); return(new Twitter(this.ConsumerKey, this.ConsumerSecret, access_token, access_token_secret, screenName, id)); } else { return(null); } }
/// <summary> /// PINコードからAccessToken,AccessTokenSecretを取得します。 /// </summary> /// <param name="PIN">PINコード</param> /// <returns>TwitterContext。失敗した場合はNull</returns> public async Task <Twitter> GetAccessTokenFromPinCode(string PIN) { var tw = new Twitter(this.ConsumerKey, this.ConsumerSecret, this.OAuthToken, this.OAuthTokenSecret); string res = await tw.OAuthGetAccessToken(PIN); Console.WriteLine(res); if (!string.IsNullOrEmpty(res)) { string access_token = Utility.AnalyzeUrlQuery.Analyze(res, "oauth_token"); string access_token_secret = Utility.AnalyzeUrlQuery.Analyze(res, "oauth_token_secret"); string screenName = Utility.AnalyzeUrlQuery.Analyze(res, "screen_name"); var id = Int64.Parse(Utility.AnalyzeUrlQuery.Analyze(res, "user_id")); return(new Twitter(this.ConsumerKey, this.ConsumerSecret, access_token, access_token_secret, screenName, id)); } else { return(null); } }