使用图形 api 设置视频过期时间

Set video expiration with graph api

我想使用 PHP Graph SDK (link to docs) 为 Facebook 上的视频设置到期日期和到期类型。我总是得到 (#100) Invalid format for expiration param。我已经尝试过多种日期格式如 ISO8601、像其他日期一样的时间戳以及将其作为对象传递的关联数组 $params['expiration']['time'] = 2018-02-04T23:57:00+0100

设置此参数的正确方法是什么?

$this->handle=new \Facebook\Facebook([
    'app_id'=>'xxx',
    'app_secret'=>'xxx',
    'default_graph_version'=>'v2.11',
    'default_access_token'=>$session
]);

// copied from print_r
$params = Array(
    [title] => videoname
    [name] => videoname
    [content_category] => ENTERTAINMENT
    [description] => some description text
    [embeddable] => 1
    [file_size] => 29089069
    [thumb] => Facebook\FileUpload\FacebookFile Object
        (
            [path:protected] => 7SQNP1186922FBPx2.jpg
            [maxLength:Facebook\FileUpload\FacebookFile:private] => -1
            [offset:Facebook\FileUpload\FacebookFile:private] => -1
            [stream:protected] => Resource id #164
        )

    [secret] => 
    [published] => 
    [no_story] => 
    [unpublished_content_type] => SCHEDULED
    [scheduled_publish_time] => 1517400300
    [expiration] => 2018-02-04T23:57:00+0100
    [expiration_type] => hide
)

$this->handle->post('/'.$fbpageID.'/videos',$params,$token);

我正在使用 Graph v2.11 和最新的 SDK。

设置为数组是正确的,但有一些限制:

$params['published'] = true; // video must be already published
$params['expiration'] = [
    'time' => 1517400300, // as UTC timestamp
    'type' => 'expire_only' // required property
];