/// <summary> /// Twitterへのリクエストを作成します。 /// </summary> /// <param name="twitter">リクエストを行うTwitterオブジェクト。</param> /// <param name="method">APIのリクエストに使用するHTTPメソッド。</param> /// <param name="url">APIのURL。</param> /// <param name="query">リクエストのパラメータ。</param> public TwitterRequest( Twitter twitter = null, Method method = Method.POST, Uri url = null, Dictionary <string, string> query = null, string proxy = null, string userAgent = null) { this.Twitter = twitter; this.Method = method; this.Url = url; this.Parameter = query; this.Proxy = proxy; this.UserAgent = userAgent ?? twitter.UserAgent; }
/// <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); } }