问题描述
我有一个PHP控制台脚本,该脚本将视频文件上传到我的Facebook页面。这工作正常(下面的代码)。但是,完成后,该视频将立即公开发布。我想在某个日期时间发布视频。 我找不到适合的文档。它可以在任何地方使用吗? 或者,如果我可以上传仅对我可用的视频,然后“将其公开”,那也将适合我。
<?PHP
$fb = new Facebook\Facebook([
'app_id' => '{APPID}','app_secret' => '{APPSECRET}','default_graph_version' => 'v2.10',]);
$accesstoken = '{PERMANENTTOKEN}';
try {
$videoTitle = 'FOO';
$videoDescription = 'BAR';
$data = [
'title' => $videoTitle,'description' => $videoDescription,];
$basePath = '/path/to/';
$fileEntry='file.mp4';
$response = $fb->uploadVideo('{PAGEID}',$basePath.$fileEntry,$data,$accesstoken);
} catch(Facebook\Exception\ResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exception\SDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
echo 'Video ID: ' . $response['video_id']; //this is Now publicly available. how can i make it publish at a later date?
解决方法
我认为带有scheduled_publish_time
参数的published
可能有用。
$videoTitle = 'FOO';
$videoDescription = 'BAR';
$data = [
'title' => $videoTitle,'description' => $videoDescription,'scheduled_publish_time' => strtotime('+7 days'),'published' => false,];
$basePath = '/path/to/';
$fileEntry='file.mp4';
$response = $fb->uploadVideo('{PAGEID}',$basePath.$fileEntry,$data,$accessToken);
scheduled_publish_time
该帖子上线的时间,可以是API调用开始后十分钟到六个月之间的任何日期。
scheduled_publish_time
的可能格式:
- 整数UNIX时间戳[以秒为单位](例如1530432000)。
- ISO 8061时间戳字符串(例如2018-09-01T10:15:30 + 01:00)。
- PHP的strtotime()可以解析的任何字符串(例如,明天+2周)。
对于日期,我不确定应该使用哪个时区,因此可能需要进行一些实验。
链接: