Exemple #1
0
        public bool Save()
        {
            ITwitterAccount account = Container.Account;

            var json = JsonConvert.SerializeObject(account);

            var worked = true;

            try
            {
                using (StreamWriter writer = new StreamWriter(Path, false))
                {
                    writer.Write(json);
                }
            }
            catch (Exception e)
                when(e is UnauthorizedAccessException ||
                     e is ArgumentException ||
                     e is ArgumentNullException ||
                     e is DirectoryNotFoundException ||
                     e is PathTooLongException ||
                     e is IOException)
                {
                    worked = false;
                }

            return(worked);
        }
Exemple #2
0
        public static bool ScheduleTweet(ITwitterAccount account)
        {
            try
            {
                string GET_REQUEST_URL = "https://api.twitter.com/1.1/statuses/update.json?status=Hello%20world";

                OAuthRequest client = OAuthRequest.ForProtectedResource("POST", YoutubeClientData.TwitterOauthToken, YoutubeClientData.TwitterOauthTokenSecret, account.OAuthToken, account.OAuthTokenSecret);
                client.RequestUrl = GET_REQUEST_URL;
                client.Method     = "POST";

                string         auth    = client.GetAuthorizationHeader();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(client.RequestUrl);
                request.Headers.Add("Authorization", auth);
                request.Method      = "POST";
                request.ContentType = "application/x-www-form-urlencoded";

                Console.WriteLine("Calling " + GET_REQUEST_URL);

                using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
                {
                    writer.Write("status=Hello%20world");
                }

                // make the call and print the string value of the response JSON
                HttpWebResponse response    = (HttpWebResponse)request.GetResponse();
                Stream          dataStream  = response.GetResponseStream();
                StreamReader    reader      = new StreamReader(dataStream);
                string          strResponse = reader.ReadToEnd();

                ScheduleTweetPOST(account);

                return(true);
            }
            catch (WebException ex)
            {
                using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream()))
                {
                    var response = reader.ReadToEnd();
                    Console.WriteLine(response);
                }

                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(false);
            }
        }
Exemple #3
0
        public static bool InvalidateAccount(ITwitterAccount account)
        {
            try
            {
                string REQUEST_URL = $"https://api.twitter.com/1.1/oauth/invalidate_token?oauth_token={account.OAuthToken}";

                OAuthRequest client = OAuthRequest.ForProtectedResource("POST", YoutubeClientData.TwitterOauthToken, YoutubeClientData.TwitterOauthTokenSecret, account.OAuthToken, account.OAuthTokenSecret);
                client.RequestUrl = REQUEST_URL;
                client.Method     = "POST";

                string         auth    = client.GetAuthorizationHeader();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(client.RequestUrl);
                request.Headers.Add("Authorization", auth);
                request.Method = "POST";

                Console.WriteLine("Calling " + REQUEST_URL);

                // make the call and print the string value of the response JSON
                HttpWebResponse response    = (HttpWebResponse)request.GetResponse();
                Stream          dataStream  = response.GetResponseStream();
                StreamReader    reader      = new StreamReader(dataStream);
                string          strResponse = reader.ReadToEnd();

                var queryParams = HttpUtility.ParseQueryString(strResponse);

                return(true);
            }
            catch (WebException ex)
            {
                using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream()))
                {
                    var response = reader.ReadToEnd();
                    Console.WriteLine(response);
                }

                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(false);
            }
        }
Exemple #4
0
        private static void ScheduleTweetPOST(ITwitterAccount account)
        {
            string REQUEST_URL = $"https://ads-api.twitter.com/7/accounts/{account.UserId}/scheduled_tweets?";

            OAuthRequest client = OAuthRequest.ForProtectedResource("POST", YoutubeClientData.TwitterOauthToken, YoutubeClientData.TwitterOauthTokenSecret, account.OAuthToken, account.OAuthTokenSecret);

            client.RequestUrl = REQUEST_URL;
            client.Method     = "POST";

            string         auth    = client.GetAuthorizationHeader();
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(client.RequestUrl);

            request.Headers.Add("Authorization", auth);

            Console.WriteLine("Calling " + REQUEST_URL);

            // make the call and print the string value of the response JSON
            HttpWebResponse response    = (HttpWebResponse)request.GetResponse();
            Stream          dataStream  = response.GetResponseStream();
            StreamReader    reader      = new StreamReader(dataStream);
            string          strResponse = reader.ReadToEnd();

            var queryParams = HttpUtility.ParseQueryString(strResponse);
        }
Exemple #5
0
        public static void Tweet(ITwitterAccount account)
        {
            var tokens = CoreTweet.Tokens.Create(YoutubeClientData.TwitterOauthToken, YoutubeClientData.TwitterOauthTokenSecret, account.OAuthToken, account.OAuthTokenSecret, Convert.ToInt64(account.UserId), account.ScreenName);

            tokens.Statuses.Update("Das hier ist ein Test-Status für eins meiner Programme. Ignoriert es einfach. :3");
        }