如何将视频后端上传到 Facebook,但有预定的发布
How to backend-upload a video to Facebook, but with scheduled publish
我有一个 php 控制台脚本,可以将视频文件上传到我的 Facebook 页面。这工作正常(下面的代码)。但是,完成后,视频立即可用 public。我想在特定日期时间发布视频。
我找不到合适的文档。它在任何地方都可用吗?
或者,如果我可以上传只有我可以看到的视频,然后“转public”,那也适合我。
<?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?
我认为带有 published
参数的 scheduled_publish_time
可能有效。
$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
Time when this post should go live, this can be any date between ten minutes and six months from the time of the API call.
scheduled_publish_time
的可能格式:
- 整数 UNIX 时间戳 [以秒为单位](例如 1530432000)。
- ISO 8061 时间戳字符串(例如 2018-09-01T10:15:30+01:00)。
- PHP 的 strtotime() 可解析的任何字符串(例如 +2 周,明天)。
对于日期,我不完全确定应该使用哪个时区,因此可能需要进行一些实验。
链接:
我有一个 php 控制台脚本,可以将视频文件上传到我的 Facebook 页面。这工作正常(下面的代码)。但是,完成后,视频立即可用 public。我想在特定日期时间发布视频。 我找不到合适的文档。它在任何地方都可用吗? 或者,如果我可以上传只有我可以看到的视频,然后“转public”,那也适合我。
<?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?
我认为带有 published
参数的 scheduled_publish_time
可能有效。
$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
Time when this post should go live, this can be any date between ten minutes and six months from the time of the API call.
scheduled_publish_time
的可能格式:
- 整数 UNIX 时间戳 [以秒为单位](例如 1530432000)。
- ISO 8061 时间戳字符串(例如 2018-09-01T10:15:30+01:00)。
- PHP 的 strtotime() 可解析的任何字符串(例如 +2 周,明天)。
对于日期,我不完全确定应该使用哪个时区,因此可能需要进行一些实验。
链接: