YouTube v3 api, проверьте, существует ли видео

1

Я попытался проверить, является ли видео в YouTube, а не частным, а не удалено и т.д. Мне нужно это для видео-блога.

Весь код, который я нашел и попробовал, не работал. Я надеюсь, что вы можете мне помочь. Я зарегистрировался для нового API v3.

Мой код выглядит следующим образом, но я всегда получаю "Bad Request 400",

$theURL = "https://www.googleapis.com/youtube/v3/videos?part=status&id=". get_post_meta($post->ID,"wpzoom_post_embed_code", true) ."&key=my_api_key";
//                echo $theURL;
                //$theURL = "http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=". get_post_meta($post->ID,"wpzoom_post_embed_code", true) ."&format=json";
                $headers = get_headers($theURL);
                print_r ($headers);
                if (substr($headers[0], 9, 3) !== "404") {
                    echo "online";
                } else {
                    echo "offline";
                }  
  • 0
    Мне удалось заставить ваш код работать. Как выглядит ваша строка $ theUrl в распечатанном виде? Неправильный запрос 400 обычно означает что-то не так с patrameter / toke / filter, см. Здесь developers.google.com/youtube/v3/docs/errors
  • 0
    Вывод $ theURL: googleapis.com/youtube/v3/… - я не понял, как использовать правильные параметры
Показать ещё 13 комментариев
Теги:
youtube-api

1 ответ

0

Нашел решение. Но я не понял, как отключить видео в офлайн-режиме. Я ищу в своей строке данных curl для "totalResults": 0, "потому что я получаю сразу один ID для видео.

Вот мой код. - Может быть, у кого-то есть лучшая идея исправить эту небольшую проблему.

$theURL = "https://www.googleapis.com/youtube/v3/videos?part=status&id=" . get_post_meta($post->ID, "wpzoom_post_embed_code", true) . "&key=my_api_key";
        $ch = curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$theURL);
    curl_setopt($ch,CURLOPT_HEADER,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_VERBOSE, 0); 

    $data =  curl_exec($ch); 
    //var_dump($data); 

        if (strpos($data,'totalResults": 0,') !== false) {
            echo '<span> <img src="link_for_button" alt="online"/> Offline</span><br />';  //echo "<span style='color:red;'>Video Offline</span>";
        } else echo '<span><img src="link_for_button" alt="online"/> Online</span><br />'; //echo "<span style='color:green;'>Video Online</span>";
  • 0
    Ни у кого нет идеи?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню