2016-06-27 4 views
0

Ich versuche, eine Liste von Videos mit youtube Apiv3 zu bekommen, aber ich werde eine schlechte Anfrage erhalten, wenn publishedAfter Parameter in der Anfrage vorhanden.Php: Api gibt schlechte Anfrage Fehlermeldung

Nach ihrem documenation

Typ: Datumzeit

Der publishedAfter Parameter gibt an, dass die API-Antwort sollte nur Ressourcen nach der angegebenen Zeit erstellt enthalten. Der Wert ist ein RFC 3339-formatierter Datums-/Uhrzeitwert (1970-01-01T00: 00: 00Z).

So i konvertieren das Datum Parameter RFC3339 Format Hier ist mein Code

$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); 

Dies ist die URL für Ergebnis zu erzielen

$url='https://www.googleapis.com/youtube/v3/search?part=snippet&order=viewCount&key={kEY}&&publishedAfter='.$t; 

Ich werde diesen Fehler

Array 
(
    [error] => Array 
     (
      [errors] => Array 
       (
        [0] => Array 
         (
          [domain] => global 
          [reason] => badRequest 
          [message] => Bad Request 
         ) 

       ) 

      [code] => 400 
      [message] => Bad Request 
     ) 

) 

Hinweis:

Ohne publishedAfter Parameter werde ich Antwort bekommen, so denke ich das Problem mit Dateformat.

Antwort

1

Bitte versuchen Sie es unten.

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