【问题标题】:How to post video to facebook page with custom thumbnail using Graph API如何使用 Graph API 将视频发布到带有自定义缩略图的 Facebook 页面
【发布时间】:2016-03-30 07:45:09
【问题描述】:

我可以使用图形 API 将视频上传到 Facebook 页面。但我无法使用自定义视频缩略图上传它。我试图添加“图片”参数,但 facebook 只是忽略了这个参数。我可以通过单击视频帖子的“编辑”来更改 Facebook 页面上的视频缩略图。所以,我认为 API 也有一些方法可以做到这一点,但我就是找不到。

这是我用来将视频上传到 Facebook 页面的代码:

$data = [
  'title'        => 'MY POST TITLE',
  'description'  => 'MY POST DESCRIPTION',
  'source'       => new CURLFile('video/my_video.mp4', 'video/mp4'),
  'access_token' => FACEBOOK_PAGE_TOKEN,
];

// Curl Post Url
$post_url = 'https://graph-video.facebook.com/'.FACEBOOK_PAGE_ID.'/videos';

// CURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

【问题讨论】:

    标签: php facebook facebook-graph-api video


    【解决方案1】:

    所以,我认为 API 也有一些方法可以做到这一点,但我就是找不到。

    查看文档中列出的参数列表,https://developers.facebook.com/docs/graph-api/reference/page/videos#Creating

    thumb [image]:要上传并与视频关联的视频缩略图原始数据。

    【讨论】:

    • 如何添加图片文件?将 'thumb'=> 'xxxxx.com/xxx.jpg' 添加到数据阵列?
    • 它向我显示错误“格式无效。它应该是图像文件数据。”如何添加图像类型作为参数?
    • 它明确表示“视频缩略图原始数据”——您需要将其作为文件上传,就像您处理视频本身一样。
    • 我尝试了与视频相同的方式,但我得到了相同的错误消息
    • 嗨@CBroe,请您详细说明这是什么意思““视频缩略图原始数据”我无法理解如何发送原始图像数据。API 文档根本没有正确解释这一点。Facebook 目前正在为我发布的所有视频选择最差的缩略图,并且始终保持不变。
    【解决方案2】:

    使用 Facebook PHP SDK 这个过程稍微简单一些:

    <?php
    
    use Facebook\FileUpload\FacebookFile;
    
    $fb = new Facebook\Facebook([
        'app_id' => 'YOUR_APP_ID',
        'app_secret' => 'YOUR_APP_SECRET',
        'default_graph_version' => 'v2.5',
    ]);
    $data = [
       'thumb'        => new FacebookFile('PATH TO YOUR THUMB FILE'),
        'source'      => $fb->videoToUpload('PATH TO YOUR VIDEO FILE'),
        'title'       => 'YOUR VIDEO TITLE',
        'description' => 'YOUR VIDEO DESCRIPTION!'
    ];
    
    $response = $fb->post('/YOUR_PAGE_ID/videos', $data, YOUR_PAGE_TOKEN);
    $post = $response->getGraphObject();
    var_dump( $post );
    

    请记住在 composer.json 中加载 facebook/graph-sdk 作为您的项目依赖项。

    【讨论】:

      猜你喜欢
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多