【发布时间】:2016-10-29 00:08:37
【问题描述】:
我正在尝试使用 youtube apiv3 获取视频列表,但如果请求中存在 publishedAfter 参数,我将收到错误请求。
根据他们的文档
类型:日期时间
publishedAfter 参数表示 API 响应应该 只包含在指定之后创建的资源 时间。该值是 RFC 3339 格式的日期时间值 (1970-01-01T00:00:00Z)。
所以我将日期参数转换为 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
$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的问题。
【问题讨论】:
标签: php api youtube-data-api