无法使用 PHP 将视频上传到 Facebook 页面,但可以使用 curl

Cannot Upload video to Facebook page using PHP but can using curl

我正在尝试将视频上传到 Facebook 页面。我通过 POSTMAN 使用 curl 调用成功上传了视频。这是 POSTMAN 中使用的卷曲:

curl -X POST \
  "https://graph-video.facebook.com/v8.0/<page_id>/videos" \
  -F "access_token=<access_token>" \
  -F "source=@/home/shubham/Downloads/big_buck_bunny_720p_1mb (1).mp4"
  -F "title=Sample video"

(在 Postman 中,我 select 我要上传的文件。见附图)

但是,当我尝试使用 PHP 执行相同操作时,出现错误。我正在使用下面的代码来做到这一点。

$ch = curl_init();

            curl_setopt($ch, CURLOPT_URL, 'https://graph-video.facebook.com/v7.0/<page_ID>/videos');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1);

            $post = array(
                'access_token' => $access_token,
                'source' => '@' .realpath($params['video_path']),
                'title' => $params['video_title'],
            );
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

            $result = curl_exec($ch);

其中:$params['video_path'] = '/home/shubham/Downloads/big_buck_bunny_720p_1mb (1).mp4'; $参数['video_title'] = 'Sample video upload from backend';

这是我从 Facebook 收到的错误:

{"error":{"message":"There was a problem uploading your video file. Please try again.","type":"OAuthException","code":390,"error_subcode":1363030,"is_transient":true,"error_user_title":"Video Upload Timeout","error_user_msg":"Your video upload timed out before it could be completed. This is probably because of a slow network connection or because the video you're trying to upload is too large. Please try again.","fbtrace_id":"A9sy8q1MUG5UJkgNI35dfZ2"}}

如果它在邮递员中工作,您可以通过单击请求右上角附近的代码从邮递员创建 php curl 命令