如何使用Graph API将视频发布到带有自定义缩略图的Facebook页面

时间:2016-03-30 07:45:09

标签: php facebook facebook-graph-api video

我可以使用图形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);

2 个答案:

答案 0 :(得分:0)

  

所以,我认为有一些方法可以从API中完成,但我无法找到它。

检查文档https://developers.facebook.com/docs/graph-api/reference/page/videos#Creating

中列出的参数列表
  

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

答案 1 :(得分:0)

使用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作为项目依赖项。