Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }