Я пытаюсь создать простой скрипт Python, который возвращает некоторую информацию о канале с помощью поиска @username или UCrandomID123.
Я знаю, что для доступа к данным канала вы можете использовать следующую конечную точку: https://www.googleapis.com/youtube/v3/channels
Однако я столкнулся с некоторыми возможными ограничениями и проблемами. Некоторые каналы могут не иметь собственного «имени» в URL-адресе канала:

против

Я искал проблему и наткнулся на несколько сообщений, посвященных этой проблеме:
[*]Как найти каналы с помощью API YouTube [*]Найти имя пользователя YouTube для канала
Но оба решения довольно старые, и мне интересно, есть ли сейчас лучшее решение этой проблемы?
У меня есть следующий код:
async def get_channel_id(self,channel_input): api_url = f"https://www.googleapis.com/youtube/v3/channels" параметры = { «часть»: «фрагмент», 'ключ': DEVELOPER_KEY, 'максрезультат': 1 } # Определить, является ли ввод идентификатором канала или именем пользователя если Channel_input.startswith('UC'): Предоставлен # идентификатор канала параметры['id'] = входной_канал еще: # Предположим, что это пользовательское имя пользователя параметры['forUsername'] = вход_канала response = await self.make_api_request(api_url, params) # Просто функция для выполнения асинхронного запроса. если ответ и ответ.get('элементы'): канал_информация = ответ['предметы'][0] id_канала = информация_канала['id'] channel_title = информация_канала['snippet']['title'] Channel_url = f"https://www.youtube.com/channel/{channel_id}" вернуть канал_id, канал_заголовок, канал_url вернуть Нет, Нет, Нет Этот вариант работает нормально, если у меня есть URL-адрес UC...., но если указать уникальное «имя пользователя», канал по какой-то причине не будет найден. Причина, по которой я хочу уловить оба случая, заключается в том, что сейчас большинство каналов имеют URL-адрес с собственным именем.