Ejemplo n.º 1
0
        private HttpRequestMessage CreateRequest()
        {
            var oauth = new OAuthHeaderGenerator(TwitterUrl.REQUEST_TOKEN, WebRequestMethods.Http.Post);

            oauth.SetAcessTokenAndSecret("", "");
            oauth.AddParameter("oauth_callback", AppConfig.Singleton.TwitterCallbackUrl);

            var request = new HttpRequestMessage()
            {
                RequestUri = new Uri(TwitterUrl.REQUEST_TOKEN),
                Method     = HttpMethod.Post,
            };

            request.Headers.Add("Authorization", oauth.Header);
            return(request);
        }
        public void ComputedValueTestWhenRequestToken()
        {
            var mockUtilMethods = new Mock <UtilMethods>();

            mockUtilMethods.Setup((utilMethods) => utilMethods.RandomString(It.IsAny <int>())).Returns("JCKNUMB75U");
            mockUtilMethods.SetupGet((utilMethods) => utilMethods.UnixTimeSeconds).Returns(1617356469);
            UtilMethods.Singleton = mockUtilMethods.Object;
            MockUtil.mockAppConfig();
            // ↓postmanで作成した値
            var signatureExpect      = "hNjZJBPWF/Toavf2ESTuntujkZg=";
            var headerExpect         = "OAuth oauth_callback=\"https%3A%2F%2Flocalhost%3A8000\",oauth_consumer_key=\"ULoMphmQLJ1gVY0q64Vp55UCc\",oauth_nonce=\"JCKNUMB75U\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1617356469\",oauth_version=\"1.0\",oauth_signature=\"hNjZJBPWF%2FToavf2ESTuntujkZg%3D\"";
            var OAuthHeaderGenerator = new OAuthHeaderGenerator(TwitterUrl.REQUEST_TOKEN, WebRequestMethods.Http.Post);

            OAuthHeaderGenerator.SetAcessTokenAndSecret("", "");
            OAuthHeaderGenerator.AddParameter("oauth_callback", "https://localhost:8000");
            Assert.Equal(signatureExpect, OAuthHeaderGenerator.Signature);
            Assert.Equal(headerExpect, OAuthHeaderGenerator.Header);
        }
Ejemplo n.º 3
0
        public string GetAccountName(TwitterAccountCredentials credentials)
        {
            var oauth = new OAuthHeaderGenerator(TwitterUrl.VERIFY_CREDENTIALS, WebRequestMethods.Http.Get);

            oauth.SetAcessTokenAndSecret(credentials.AccessToken, credentials.AccessTokenSecret);

            var request = new HttpRequestMessage()
            {
                RequestUri = new Uri(TwitterUrl.VERIFY_CREDENTIALS),
                Method     = HttpMethod.Get,
            };

            request.Headers.Add("Authorization", oauth.Header);

            var json = httpClient.SendAsync(request).Result.Content.ReadAsStringAsync().Result;
            var obj  = JObject.Parse(json);

            return(obj["name"].ToObject <string>());
        }
Ejemplo n.º 4
0
        public async Task DestroyFriendships()
        {
            List <string> unfollowedUsers = new List <string>();

            foreach (var inactiveUser in inactiveUsers)
            {
                _httpClient.DefaultRequestHeaders.Clear();

                OAuthHeaderGenerator oAuthHeaderGenerator = new OAuthHeaderGenerator(_consumerKey, _consumerSecret, _accessToken, _accessTokenSecret);

                string url = $"https://api.twitter.com/1.1/friendships/destroy.json?screen_name={inactiveUser.Name}";

                string oAuth = oAuthHeaderGenerator.GenerateOAuthHeader("POST", url);

                _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("OAuth", oAuth);

                try
                {
                    HttpResponseMessage response = await _httpClient.PostAsync(url, null);

                    if (response.IsSuccessStatusCode)
                    {
                        unfollowedUsers.Add(inactiveUser.Name);
                    }
                    else
                    {
                        string content = await response.Content.ReadAsStringAsync();

                        Console.WriteLine(content);
                        File.WriteAllLines("unfollowed-users.txt", unfollowedUsers);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    File.WriteAllLines("unfollowed-users.txt", unfollowedUsers);
                }
            }

            File.WriteAllLines("unfollowed-users.txt", unfollowedUsers);
        }