Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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));
        }
Example #4
0
 private static string GetPostTweetEndPoint(TwitterPostContentData contentRequestData)
 {
     return($"/1.1/statuses/update.json?status={contentRequestData.Text}");
 }