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); }
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); } }
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); } }
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); }
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"); }