Open dreinstein10 opened 5 years ago
did you solve it?
same here
any solution here?
Anyone found a solution?
I can't figure it out either, different language.
This works:
This doesn't:
https://github.com/toddfries/xapi/blob/master/xposts#L1267
chunk_check_status: state=pending, check_after_secs=1: media parameter is missing. at /usr/local/libdata/perl5/site_perl/X/API.pm line 367 (the X/API.pm just throws an error based on the http error)
Looking at the source in this repo helped me fix the problem. Here's the fix in my code:
https://github.com/toddfries/xapi/commit/6ae098412449bae7069fd3fe8efe13ffaeec9dbe
(get not post)
Hi, I've been trying to post a video using the media_upload function but when I try to get the STATUS of the media_id I get the following error: [code] => 38 , [message] => media parameter is missing.
I need to use the STATUS because if I try to FINALIZE the media I get a 'processing_info' in the reply saying the media status is 'pending', so I need to check the status until the status is 'succeeded'.
Does anybody else get this error?
Here's my code:
`$size_bytes = filesize($file); $fp = fopen($file, 'r');
// INIT the upload $reply = $cb->media_upload([ 'command' => 'INIT', 'media_type' => 'video/mp4', 'media_category' => 'tweet_video', 'total_bytes' => $size_bytes ]); $media_id = $reply->media_id_string;
// APPEND data to the upload $segment_id = 0; while (! feof($fp)) { $chunk = fread($fp, 1048576); // 1MB per chunk for this sample $reply = $cb->media_upload([ 'command' => 'APPEND', 'media_id' => $media_id, 'segment_index' => $segment_id, 'media' => $chunk ]); $segment_id++; } fclose($fp);
do{ sleep(10); $status_reply = $cb->media_upload(['command' => 'STATUS', 'media_id'=> $media_id //media id from INIT ]); var_dump($status_reply ); }while($status_reply->processing_info->state != 'failed' && $status_reply->processing_info->state != 'succeeded');
// FINALIZE the upload $reply = $cb->media_upload([ 'command' => 'FINALIZE', 'media_id' => $media_id ]); var_dump($reply); if ($reply->httpstatus < 200 || $reply->httpstatus > 299) { die(); }
// Now use the media_id in a Tweet $reply = $cb->statuses_update([ 'status' => 'Twitter now accepts video uploads.', 'media_ids' => $media_id ]);`