Something is wrong with my code... Video's status is still in_proguress.
error object(stdClass)#9 (5) { ["media_id"]=> int(1682626180757979138) ["media_id_string"]=> string(19) "1682626180757979138" ["media_key"]=> string(21) "7_1682626180757979138" ["size"]=> int(3740488) ["processing_info"]=> object(stdClass)#12 (3) { ["state"]=> string(11) "in_progress" ["progress_percent"]=> int(99) ["error"]=> object(stdClass)#13 (3) { ["code"]=> int(1) ["name"]=> string(12) "InvalidMedia" ["message"]=> string(15) "file is invalid" } } }
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token, $access_token_secret);
$media = $connection->upload('media/upload', ['media' => '/path/to/file/kitten.mp4'], true);
$limit = 0;
do{
$status = $connection->mediaStatus($media->media_id_string);
sleep(5);
$limit++;
}while($status->processing_info->state !== 'succeeded' && $limit <= 3);
$parameters = [
'status' => 'Meow Meow Meow',
'media'=> ['media_ids' => $media->media_id_string]
];
$connection->setApiVersion('2');
$result = $connection->post('tweets', $parameters, true);