@Vasya-prijevalskij

Почему ютуб апи блокирует мой ключ?

Всем привет. Сайт на вордпресс и у меня есть вот такой скрипт:

/*
    * Функция для получения данных о последнем видео с YouTube-канала
    */
    function get_latest_youtube_video() {
        $api_key = '';
        $channel_id = '';
        
        $url = 'https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=' . $channel_id . '&maxResults=1&type=video&videoDuration=long&key=' . $api_key;
        $response = wp_remote_get($url);
        
        if (is_wp_error($response)) {
            return false;
        }
        
        $body = wp_remote_retrieve_body($response);
        $data = json_decode($body);
        
        if (isset($data->items[0])) {
            $video_id = $data->items[0]->id->videoId;
            return 'https://www.youtube.com/embed/' . $video_id; 
        }
        
        return false;
    }

    
    /*
    * Шорткод для вывода последнего видео на сайте
    */
    function latest_youtube_video_shortcode() {
        $latest_video_url = get_latest_youtube_video();
        if ($latest_video_url) {
            return '<iframe width="auto" height="auto" src="' . $latest_video_url . '" frameborder="0" allowfullscreen></iframe>';
        } else {
            return 'Latest video not found';
        }
    }
    add_shortcode('latest_youtube_video', 'latest_youtube_video_shortcode');
    
    
    /*
    * Планирование проверки канала ежедневно в 12 часов дня
    */
    if (!wp_next_scheduled('check_youtube_channel')) {
        wp_schedule_event(strtotime('12:00:00'), 'daily', 'check_youtube_channel');
    }
    
    // Функция для проверки канала и обновления видео при необходимости
    function check_youtube_channel() {
        $latest_video_url = get_latest_youtube_video(); // Получаем последнее видео с YouTube-канала
        $stored_video_url = get_option('latest_youtube_video_url'); // Получаем последнее сохраненное видео
    
        // Если последнее сохраненное видео не совпадает с последним видео с канала, обновляем его
        if ($latest_video_url && $latest_video_url !== $stored_video_url) {
            update_option('latest_youtube_video_url', $latest_video_url);
        }
    }
    add_action('check_youtube_channel', 'check_youtube_channel');


Ютуб блокирует ключ апи из-за превышения запросов с сайта. Подскажите, почему? В скрипте я обращаюсь по апи к ютубу один раз в 12 дня, но что ему не нравится?
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы