Google предоставляет разработчику большой набор API на выбор. Каждая услуга, предоставляемая Google, имеет соответствующий API. Будучи одним из них, API данных Youtube очень прост в использовании и предоставляет такие функции, как:
- Поиск видео
- Обрабатывайте видео, например, извлекайте информацию о видео, вставляйте видео, удаляйте видео и т.д.
- Обрабатывайте подписки, например, перечисляйте все подписки, вставляйте или удаляйте подписку.
- Извлеките информацию о комментариях, таких как ответы на конкретный комментарий, указанный родительским именем и т. д.
В этой статье мы обсудим API Google Youtube. Пожалуйста, выполните следующие действия, чтобы включить API и начать его использовать.
- Создайте новый проект, включите API и создайте учетные данные: На этом шаге мы создадим проект и включим API.
- Перейдите в консоль разработчиков Google и нажмите «Войти» в правом верхнем углу страницы. Войдите в систему, используя учетные данные действительной учетной записи Google. Если у вас нет учетной записи Google, сначала настройте учетную запись, а затем используйте сведения для входа на домашнюю страницу разработчиков Google.
- Теперь перейдите на панель инструментов разработчика и создайте новый проект.
- Нажмите на опцию Включить API.
- В поле поиска найдите API данных Youtube и выберите опцию API данных Youtube, которая находится в раскрывающемся списке.
- Вы будете перенаправлены на экран с информацией об API данных Youtube, а также двумя вариантами : ВКЛЮЧИТЬ и ПОПРОБОВАТЬ API
- Нажмите на опцию ВКЛЮЧИТЬ, чтобы начать работу с API.
- На боковой панели в разделе API и службы выберите Учетные данные.
- На вкладке Учетные данные выберите раскрывающийся список Создать учетные данные и выберите ключ API.
Существует два типа учетных данных: Ключ API и OAuth. OAuth предоставляет вам идентификатор клиента и Секретный ключ в виде .json файл. OAuth обычно используется там, где требуется авторизация, например, в случае получения понравившихся видео пользователя. Поэтому в остальных случаях, когда авторизация не требуется, например, для поиска видео по ключевому слову или для поиска связанных видео и т. д., Мы будем использовать ключ API.
2. Установка: Клиент Google API для python можно установить с помощью простого команда pip:
pip install --upgrade google-api-python-client
Давайте начнем с Функция поиска.
Существует пять вариантов способ поиска – Поиск по ключевым словам, Поиск по местоположению, Поиск живых событий, Поиск связанных видео и Поиск моих видео. Давайте рассмотрим первые два типа метода поиска.
Функция поиска по ключевым словам: Это вернет список видео, каналов и плейлистов в соответствии с поисковым запросом. По умолчанию, если параметр типа пропускается, метод будет отображать видео, каналы и плейлисты. Значение по умолчанию максимальные результаты параметр равен 5. В этом примере извлекаются результаты, связанные с ключевым словом “ProgramBox”.
from apiclient.discovery import build
# Arguments that need to passed to the build function
DEVELOPER_KEY = "your_API_Key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
# creating Youtube Resource Object
youtube_object = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
developerKey = DEVELOPER_KEY)
def youtube_search_keyword(query, max_results):
# calling the search.list method to
# retrieve youtube search results
search_keyword = youtube_object.search().list(q = query, part = "id, snippet",
maxResults = max_results).execute()
# extracting the results from search response
results = search_keyword.get("items", [])
# empty list to store video,
# channel, playlist metadata
videos = []
playlists = []
channels = []
# extracting required info from each result object
for result in results:
# video result object
if result['id']['kind'] == "youtube# video":
videos.append("% s (% s) (% s) (% s)" % (result["snippet"]["title"],
result["id"]["videoId"], result['snippet']['description'],
result['snippet']['thumbnails']['default']['url']))
# playlist result object
elif result['id']['kind'] == "youtube# playlist":
playlists.append("% s (% s) (% s) (% s)" % (result["snippet"]["title"],
result["id"]["playlistId"],
result['snippet']['description'],
result['snippet']['thumbnails']['default']['url']))
# channel result object
elif result['id']['kind'] == "youtube# channel":
channels.append("% s (% s) (% s) (% s)" % (result["snippet"]["title"],
result["id"]["channelId"],
result['snippet']['description'],
result['snippet']['thumbnails']['default']['url']))
print("Videos:\n", "\n".join(videos), "\n")
print("Channels:\n", "\n".join(channels), "\n")
print("Playlists:\n", "\n".join(playlists), "\n")
if __name__ == "__main__":
youtube_search_keyword('Geeksforgeeks', max_results = 10)
Выход:
Функция поиска по местоположению: В этом примере извлекаются результаты, связанные с ключевым словом “ProgramBox”. Запрос извлекает 5 лучших результатов в пределах 100 км (указано locationRadius
значение параметра) точки, указанной значением параметра местоположения.
from apiclient.discovery import build
# Arguments that need to passed to the build function
DEVELOPER_KEY = "your_API_Key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
# creating Youtube Resource Object
youtube_object = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
developerKey = DEVELOPER_KEY)
def youtube_search_location(query, max_results = 5):
# calling the search.list method to retrieve youtube search results
search_location = youtube_object.search().list(q = query, type ='video',
location ='20.593683, 78.962883',
locationRadius ='100km', part = "id, snippet",
maxResults = max_results).execute()
# extracting the results from search response
results = search_location.get("items", [])
# empty list to store video metadata
videos = []
# extracting required info from each result object
for result in results:
# video result object
videos.append(result["id"]["videoId"])
video_ids = ", ".join(videos)
video_response = youtube_object.videos().list(id = video_ids, part ='snippet,
recordingDetails').execute()
search_videos = []
for video_result in video_response.get("items", []):
search_videos.append("% s, (% s, % s)" %(video_result["snippet"]["title"],
video_result["recordingDetails"]["location"]["latitude"],
video_result["recordingDetails"]["location"]["longitude"]))
print ("Videos:\n", "\n".join(search_videos), "\n")
if __name__ == "__main__":
youtube_search_location('Geeksforgeeks', max_results = 5)
Выход:
Примечание: location
параметр-это строка, указывающая координаты широты/долготы географического местоположения.
- параметр местоположения определяет точку в центре области.
- Параметр locationRadius указывает максимальное расстояние, на котором может находиться местоположение, связанное с видео, от этой точки, чтобы видео все еще было включено в результаты поиска.
type
аргументом может быть только Видео в этом типе метода поиска. В этом примере мы использовали координаты широты/ долготы для Дели, Индия.
Примечание: В приведенном выше примере мы использовали только ограниченные параметры. Есть много других параметров, которые можно задать, и если они не заданы, то какое значение по умолчанию они принимают, можно узнать из Документация по списку поиска Youtube. Пожалуйста, обратитесь к документации, чтобы получить полное представление о доступных параметрах.