Как я могу проверить эскизы YouTube API - PullRequest
0 голосов
/ 20 марта 2019

Я попытался проверить, не существует ли maxres, показать стандарт и т. Д., Но если maxres не найден, не добавить URL-адрес, почему?

$thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["maxres"]["url"];
  if($thumbnails == ""){
    $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["standard"]["url"];
  }elseif($thumbnails == ""){
    $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["high"]["url"];
  }elseif($thumbnails == ""){
    $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["medium"]["url"];
  }elseif($thumbnails == ""){
    $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["default"]["url"];
  }

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Итак, я заметил несколько проблем с вашим сценарием, главная проблема в том, что ваш оператор if войдет в первый цикл, а в случае сбоя никогда не войдет в другой цикл

Я протестировал приведенный ниже скрипт на своем сервере и обнаружил, чтоэто работает, я надеюсь, что вам ясно, если я не оставил комментарии

<?php

function GetData($url,$post){
    $ch = curl_init($url . $post);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}

$res = GetData("https://www.googleapis.com/youtube/v3/videos?","part=snippet&id=<video_id>&key=<your_key>");
$result = json_decode($res);

//Check for maxres thumb
$maxresThumb = $result->items[0]->snippet->thumbnails->maxres->url;

$thumbnail = '';

if($maxresThumb == '' || $maxresThumb == null){
  //if maxresThumb is not existent check for high res
  $highThumb = $result->items[0]->snippet->thumbnails->high->url;
  if($highThumb == '' || $highThumb == null){
    //Check for standard thumb
    $standardThumb = $result->items[0]->snippet->thumbnails->standard->url;
    if($standardThumb == '' || $standardThumb == null){
      //CHeck for next thumb....
    }else{
      $thumbnail = $standardThumb;
    }
  }else{
    $thumbnail = $highThumb;
  }
}else{
  $thumbnail = $maxResThumb;
}
?>
0 голосов
/ 21 марта 2019

Теперь работает, я изменил на

$thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["maxres"]["url"];
  if($thumbnails == "" || $thumbnails == null){
    $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["standard"]["url"];
    if($thumbnails == "" || $thumbnails == null){
      $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["high"]["url"];
      if($thumbnails == "" || $thumbnails == null){
        $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["medium"]["url"];
        if($thumbnails == "" || $thumbnails == null){
          $thumbnails = $vid["items"][0]["snippet"]["thumbnails"]["default"]["url"];
        }
      }
    }
  }
...