From fede139428ee812999d087b7f243e01c06d1cd01 Mon Sep 17 00:00:00 2001 From: Charles Schoenfeld Date: Mon, 3 Oct 2022 15:34:00 -0400 Subject: [PATCH] Add functions to create or delete subtitles for video files. --- src/TwitterOAuth.php | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/TwitterOAuth.php b/src/TwitterOAuth.php index 37114c5b..fd31f382 100644 --- a/src/TwitterOAuth.php +++ b/src/TwitterOAuth.php @@ -325,6 +325,64 @@ public function mediaStatus(string $media_id) false, ); } + + /** + * Add subtitles to an uploaded video + * + * @param string $video_id + * @param string $subtitles_id + * @param string $language_code + * @param string $language_name + * + * @return array|object + */ + public function createMediaSubtitles($video_id, $subtitles_id, $language_code='EN', $language_name='English') { + $postfields = [ + "media_id" => $video_id, + "media_category" => "TweetVideo", + "subtitle_info" => [ + "subtitles" => [ + "media_id" => $subtitles_id, + "language_code" => strtoupper($language_code), + "display_name" => $language_name + ] + ] + ]; + return $this->http( + 'POST', + self::UPLOAD_HOST, + 'media/subtitles/create', + $postfields, + true + ); + } + + /** + * Delete subtitles from an uploaded video + * + * @param string $video_id + * @param string $language_code + * + * @return array|object + */ + public function deleteMediaSubtitles($video_id, $language_code='EN') { + $postfields = [ + "media_id" => $video_id, + "media_category" => "TweetVideo", + "subtitle_info" => [ + "subtitles" => [ + "language_code" => strtoupper($language_code) + ] + ] + ]; + return $this->http( + 'POST', + self::UPLOAD_HOST, + 'media/subtitles/delete', + $postfields, + true + ); + } /** * Private method to upload media (not chunked) to upload.twitter.com.