创建实时广播时,YouTube Live Streaming API Snippet.scheduledStartTime无法正常工作

时间:2019-01-18 10:48:02

标签: google-api google-api-php-client google-apis-explorer youtube-livestreaming-api

我正在使用API​​资源管理器创建YouTube实时广播,但一切正常,但是Snippet.scheduledStartTime工作不正常。

我的时区是+05:00,国家是巴基斯坦。

我想在2019-01-18 04:50 PM安排活动。我已将Snippet.scheduledStartTime设置为2019-01-18T11:50:00.000Z,但是在事件页面上,当我单击“编辑”时它显示Starts January 18, 2019 at 3:50 AM (PST),它显示了错误的国家和时区,例如United States (GMT -08:00) Pacific

我想使用javascriptphp客户端库。

请让我知道如何解决?

这是我的php代码

$broadcastSnippet = new Google_Service_YouTube_LiveBroadcastSnippet();
$broadcastSnippet->setTitle('New Test Broadcast');
$broadcastSnippet->setScheduledStartTime('2019-01-18T11:50:00.000Z');

1 个答案:

答案 0 :(得分:0)

根据YouTube Live Streaming API DocsscheduledStartTime的格式必须为ISO 8601格式:

  

datetime

     

计划开始广播的日期和时间。   该值以ISO 8601(YYYY-MM-DDThh:mm:ss.sZ)格式指定。

我建议您检查设置的time zone designator

使用时区创建日期

我不是PHP开发人员,但是执行IMO的最明智的做法是在正确的时区中创建日期,然后以正确的格式输出日期。谷歌搜索大约五分钟后,我发现了这个。

$tz = 'Europe/London';
$timestamp = time();
$dt = new DateTime("now", new DateTimeZone($tz)); //first argument "must" be a string
$dt->setTimestamp($timestamp); //adjust the object to correct timestamp
echo $dt->format('c');