Beispiel #1
0
        public async Task <TwitterToCheck> GetUser(string handle)
        {
            try
            {
                var header = new OAuthHeader(
                    _config["Twitter:ConsumerKey"],
                    _config["Twitter:ConsumerSecret"],
                    _config["Twitter:Token"],
                    _config["Twitter:TokenSecret"]);

                var url = $"https://api.twitter.com/1.1/users/show.json?screen_name={handle}";

                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Authorization = header.Generate(url, "GET");
                    var response = await client.GetAsync(url);

                    var responseString = await response.Content.ReadAsStringAsync();

                    return(JsonConvert.DeserializeObject <TwitterToCheck>(responseString));
                }
            }
            catch (Exception e)
            {
                Log.Debug(e, "Get Tweet");
                return(new TwitterToCheck());
            }
        }
Beispiel #2
0
        public async Task <List <Tweet> > GetTweet(long userId, long?sinceId)
        {
            try
            {
                var header = new OAuthHeader(
                    _config["Twitter:ConsumerKey"],
                    _config["Twitter:ConsumerSecret"],
                    _config["Twitter:Token"],
                    _config["Twitter:TokenSecret"]);

                var url = $"https://api.twitter.com/1.1/statuses/user_timeline.json?user_id={userId}&count=50&tweet_mode=extended";
                if (sinceId.HasValue)
                {
                    url += $"&since_id={sinceId.Value}";
                }
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Authorization = header.Generate(url, "GET");
                    var response = await client.GetAsync(url);

                    var responseString = await response.Content.ReadAsStringAsync();

                    var tweets = JsonConvert.DeserializeObject <List <Tweet> >(responseString);

                    if (sinceId.HasValue)
                    {
                        tweets.Reverse();
                    }

                    return(tweets);
                }
            }
            catch (Exception e)
            {
                Log.Warning(e, "Get Tweet");
                return(new List <Tweet>());
            }
        }