Например, я делаю поисковый запрос с использованием youtube.search().list для поиска каналов по ключевому слову. После получения результатов я вручную проверяю количество подписчиков каждого канала с помощью метода youtube.channels().list, который дополнительно расходует квоту. Если я ищу 10 каналов и только 3 соответствуют диапазону количества подписчиков, я использовал 10 единиц, 7 из которых были потрачены впустую на каналы за пределами моего целевого диапазона.
Вот минимальный воспроизводимый пример:
Питон
Код: Выделить всё
import requests
API_KEY = 'YOUR_API_KEY'
def search_youtube(query, max_results=10):
url = 'https://www.googleapis.com/youtube/v3/search'
params = {
'part': 'snippet',
'q': query,
'type': 'channel',
'maxResults': max_results,
'key': API_KEY
}
response = requests.get(url, params=params)
return response.json()
def get_channel_details(channel_id):
url = 'https://www.googleapis.com/youtube/v3/channels'
params = {
'part': 'statistics',
'id': channel_id,
'key': API_KEY
}
response = requests.get(url, params=params)
return response.json()
# Sample query and channel processing
query = 'Minecraft'
search_results = search_youtube(query)
for item in search_results.get('items', []):
channel_id = item['id']['channelId']
channel_details = get_channel_details(channel_id)
subscriber_count = int(channel_details['items'][0]['statistics']['subscriberCount'])
if 100000
Подробнее здесь: [url]https://stackoverflow.com/questions/79020278/efficiently-filter-youtube-api-search-results-by-subscriber-count[/url]