我正在尝试使用youtube apiv3获取视频列表,但如果请求中出现publishedAfter
参数,我将收到错误的请求。
根据他们的文件
输入:datetime
publishedAfter参数表示API响应应该 仅包含指定后创建的资源 时间。该值是RFC 3339格式的日期时间值 (1970-01-01T00:00:00Z)
所以我将date参数转换为RFC3339格式 这是我的代码
$time="2016-06-21 05:40:00";
$datetime = \DateTime::createFromFormat("Y-m-d H:i:s", $time);
//RFC3339 format
echo $t=(datetime)$datetime->format(\DateTime::RFC3339);
以下是获取结果的网址
$url='https://www.googleapis.com/youtube/v3/search?part=snippet&order=viewCount&key={kEY}&&publishedAfter='.$t;
我会收到此错误
Array
(
[error] => Array
(
[errors] => Array
(
[0] => Array
(
[domain] => global
[reason] => badRequest
[message] => Bad Request
)
)
[code] => 400
[message] => Bad Request
)
)
注意:
如果没有publishedAfter
参数,我会得到回复,所以我认为dateformat存在问题。
答案 0 :(得分:1)
请尝试下面的内容。
$time="2016-06-21 05:40:00";
$datetime = new DateTime($time);
$datetime->format('Y-m-d\TH:i:sP');