Warm tip: This article is reproduced from serverfault.com, please click

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

(其他 - Cannot Upload video to Facebook page using PHP but can using curl)

发布于 2020-12-04 06:28:51

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

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 中,我选择了要上传的文件。请参见附件图像)在此处输入图片说明

但是,当我尝试使用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'; $ params ['video_title'] ='从后端上传视频示例';

这是我从Facebook得到的错误:

{“ error”:{“ message”:“上传视频文件时出现问题。请重试。”,“ type”:“ OAuthException”,“ code”:390,“ error_subcode”:1363030,“ is_transient”: true,“ error_user_title”:“视频上传超时”,“ error_user_msg”:“你的视频上传在完成之前就超时了。这可能是由于网络连接缓慢或你尝试上传的视频太大。,请重试。“,” fbtrace_id“:” A9sy8q1MUG5UJkgNI35dfZ2“}}

Questioner
PHP_Newbie
Viewed
0
PDHide 2020-12-04 15:36:10

在此处输入图片说明

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