PHP调用Instagram API发布REELS视频时遇媒体类型错误排查
通过Instagram API发布REELS视频时的参数错误排查
我尝试用PHP通过Instagram API分享.mp4格式视频,已将media_type参数设置为REELS,但仍收到错误提示。
我的代码:
$config = array( // instantiation config params 'user_id' => $myInstagramBusinessAccId, 'access_token' => $myFacebookAccessToken, ); // instantiate user media $media = new Media( $config ); $videoContainerParams = array( 'caption' => $caption, 'video_url' => $videoUrl, 'thumb_offset' => 1000, 'share_to_feed' => false, 'media_type' => "REELS", ); // create video container $videoContainer = $media->create( $videoContainerParams ); echo '<pre>'; print_r($videoContainer); return;
返回的错误信息:
[error] => Array
(
[message] => 无效参数
[type] => OAuthException
[code] => 100
[error_subcode] => 2207067
[is_transient] =>
[error_user_title] => 不支持的媒体类型 VIDEO
[error_user_msg] => Media_type的VIDEO值已被弃用。要在Instagram动态中发布视频,请使用REELS媒体类型。发布视频请访问https://developers.facebook.com/docs/instagram-api/reference/ig-user/media#creating。
[fbtrace_id] => A40AryGmv1WLJ_T3BwpWOKb
)
问题排查方向:
- SDK版本问题:部分旧版Instagram API SDK可能会自动替换
REELS参数为VIDEO,或者未正确支持该类型。建议升级SDK到最新版本,或者直接调用原生API接口测试,确认参数是否被正确传递。 - 视频规格不符合REELS要求:REELS对视频有明确的规格限制——分辨率需在720p到1080p之间,时长15秒至60分钟,文件大小不超过1GB。如果视频不符合这些标准,API可能会默认按
VIDEO类型处理,触发弃用报错。 - 参数传递验证:确保
media_type参数是大写的"REELS",且未被SDK内部逻辑修改。可以通过抓包工具查看实际发送的API请求,确认该参数是否准确传递。 - 权限检查:确认你的访问令牌已获取
instagram_basic、instagram_content_publish等必要权限,且令牌未过期。
内容的提问来源于stack exchange,提问作者Muhammed Yusuf Taşkesenligil
相关产品推荐
相关产品推荐

