/// <summary>
        /// VIDEO-DESCRIPTION.
        /// Schedules a post.
        /// https://developers.facebook.com/docs/pages/publishing/
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pathToVideo"></param>
        /// <param name="description"></param>
        /// <param name="unixTimeStamp"></param>
        /// <returns></returns>
        public FacebookGraphResult <FacebookPost> SchedulePost(FacebookPageInformation page, string content, FacebookVideo video, long unixTimeStamp)
        {
            var uploadResult = UploadVideo(page, content, video, unixTimeStamp);

            if (!uploadResult.IsSuccessful)
            {
                return(FacebookGraphResult <FacebookPost> .Fail("An error has occured while trying to upload video to facebook via Graph API. Details: " + uploadResult.Message));
            }


            var _fbRestClient = new RestClient($"https://graph.facebook.com/{page.Id}/videos")
            {
                Authenticator = new JwtAuthenticator(page.AccessToken)
            };

            var request = new RestRequest(Method.POST);

            request.AddParameter("media_fbid", uploadResult.Entity.Id);

            try
            {
                //BadRequest dönmesine rağmen başarılı bu. (buraya exceptional bir şey eklemeliyiz.)
                //Facebook dev ekibiyle iletişime de geçilebilir.
                var response = _fbRestClient.Execute(request);

                //if(response.StatusCode.Equals(HttpStatusCode.BadRequest))
                //if (!response.IsSuccessful)
                //{
                //    return FacebookGraphResult<bool>.Fail(response.Content);
                //}

                return(FacebookGraphResult <FacebookPost> .Success(JsonConvert.DeserializeObject <FacebookPost>(response.Content)));
            }
            catch (Exception ex)
            {
                return(FacebookGraphResult <FacebookPost> .Fail(ex.Message));
            }
        }
        /// <summary>
        /// FOR SCHEDULED PUBLISH.
        /// </summary>
        /// <param name="page"></param>
        /// <param name="content"></param>
        /// <param name="video"></param>
        /// <param name="unixTimestamp"></param>
        /// <returns></returns>
        private FacebookGraphResult <FacebookVideo> UploadVideo(FacebookPageInformation page, string content, FacebookVideo video, long unixTimestamp)
        {
            var _fbRestClient = new RestClient($"https://graph-video.facebook.com/{page.Id}/videos?file_url={video.VideoURL}&description={content}&published={video.IsPublished}&scheduled_publish_time={unixTimestamp}")
            {
                Authenticator = new JwtAuthenticator(page.AccessToken)
            };

            var request = new RestRequest(Method.POST);

            try
            {
                var response = _fbRestClient.Execute(request);
                if (!response.IsSuccessful)
                {
                    return(FacebookGraphResult <FacebookVideo> .Fail(response.Content));
                }
                var uploadVideoResponse = JsonConvert.DeserializeObject <FacebookVideo>(response.Content);
                return(FacebookGraphResult <FacebookVideo> .Success(uploadVideoResponse));
            }
            catch (Exception ex)
            {
                return(FacebookGraphResult <FacebookVideo> .Fail(ex.Message));
            }
        }
        /// <summary>
        /// Publishes a video post on a Facebook page/group
        /// </summary>
        /// <param name="account"></param>
        /// <param name="content"></param>
        /// <param name="video"></param>
        /// <returns></returns>
        public FacebookGraphResult <FacebookPost> PublishPost(FacebookPageInformation page, string content, FacebookVideo video)
        {
            try
            {
                var uploadResult = UploadVideo(page, content, video);

                if (!uploadResult.IsSuccessful)
                {
                    return(FacebookGraphResult <FacebookPost> .Fail("An error has occured while trying to upload video to Facebook. Details: " + uploadResult.Message));
                }
                else
                {
                    return(FacebookGraphResult <FacebookPost> .Success(new FacebookPost { Id = uploadResult.Entity.Id }));
                }
            }
            catch (Exception ex)
            {
                return(FacebookGraphResult <FacebookPost> .Fail(ex.Message));
            }
        }