private static List <IMedia> GetMediasList(TwitterPostContentData contentRequestData) { var medias = new List <IMedia>(); foreach (var media in contentRequestData.Medias) { medias.Add(Upload.UploadBinary(media.Content)); } return(medias); }
/// <summary> /// Post a new tweet based on given Tweet data object with tweet information /// Doc: https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update /// Tweetinvi publish tweet doc: https://github.com/linvi/tweetinvi/wiki/Upload /// </summary> /// <param name="contentRequestData">PostContent with tweet information</param> /// <returns>TweetResponseData response object</returns> public PostResponseData PostTweet(TwitterPostContentData contentRequestData) { Auth.SetUserCredentials(contentRequestData.AppId, contentRequestData.AppSecret, contentRequestData.AccessToken, contentRequestData.AccessTokenSecret); var response = PublishTweet(contentRequestData); if (response != null) { // TODO Verificar as informações retornadas e adicioná-las no objeto return(PostResponseDataBuilder.AModel().Build()); } throw new CouldNotConnectException( $"Error while connecting to Twitter Api when posting a new Tweet. Twitter EndPoint:{GetPostTweetEndPoint(contentRequestData)}.", HttpStatusCode.BadRequest); }
private static ITweet PublishTweet(TwitterPostContentData contentRequestData) { /* Descomentar para fazer o teste gambiarra * var file = File.ReadAllBytes("/home/rodrigosoares/Pictures/wallhaven-dgo8jm.jpg"); * var media = Upload.UploadBinary(file); */ if (!contentRequestData.Medias.IsNullOrEmpty()) { var medias = GetMediasList(contentRequestData); return(Tweet.PublishTweet(contentRequestData.Text, new PublishTweetOptionalParameters() { Medias = medias })); } return(Tweet.PublishTweet(contentRequestData.Text)); }
private static string GetPostTweetEndPoint(TwitterPostContentData contentRequestData) { return($"/1.1/statuses/update.json?status={contentRequestData.Text}"); }