Php:Api返回错误请求错误消息

时间:2016-06-27 04:51:16

标签: php api youtube-data-api

我正在尝试使用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存在问题。

1 个答案:

答案 0 :(得分:1)

请尝试下面的内容。

$time="2016-06-21 05:40:00";
    $datetime = new DateTime($time);
    $datetime->format('Y-m-d\TH:i:sP');