Прежде чем продолжить, давайте посмотрим, что у нас есть в запасе для раздела видео. API данных Youtube позволяет выполнять следующие операции с видео:
- Список
- вставлять
- Обновить
- Оценить
- Получите удовольствие
- reportAbuse
- Удалить
Давайте обсудим, как использовать API данных 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.
- Установка: Клиент Google API для python можно установить с помощью простой команды pip:
pip install --upgrade google-api-python-client
Код для методов списка:
- Список видео по идентификатору видео: В приведенном ниже примере показано, как получить подробную информацию о конкретном видео, идентифицируемом идентификатором видео, указанным в списке параметров.
# import libraries
from googleapiclient.discovery import build
import pprint
# arguments to be passed to build function
DEVELOPER_KEY = "Your_developer_key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
# creating youtube resource object
# for interacting with API
youtube = build(YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey = DEVELOPER_KEY)
def video_details(video_id):
# Call the videos.list method
# to retrieve video info
list_videos_byid = youtube.videos().list(id = video_id,
part = "id, snippet, contentDetails, statistics",
).execute()
# extracting the results from search response
results = list_videos_byid.get("items", [])
# empty list to store video details
videos = []
for result in results:
videos.append("(% s) (% s) (% s) (% s) (% s) (% s)" % (result["snippet"]["title"],
result["snippet"]["tags"],
result['snippet']['description'],
result["snippet"]["publishedAt"],
result['contentDetails'],
result["statistics"]))
print("Videos:\n", "\n".join(videos), "\n")
if __name__ == "__main__":
video_id = "vTaxdJ6VYWE"
video_details(video_id)
Выход:
- Список видео по нескольким идентификаторам видео: В приведенном ниже примере показано, как получить информацию о нескольких видео, идентифицированных по нескольким идентификаторам видео, указанным в списке параметров.
# import libraries
from googleapiclient.discovery import build
import pprint
# arguments to be passed to build function
DEVELOPER_KEY = "developer_key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
# creating youtube resource
# object for interacting with API
youtube = build(YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey = DEVELOPER_KEY)
def multiple_video_details():
# Call the videos.list method
# to retrieve video info
list_videos_byid = youtube.videos().list(
id = 'Ks-_Mh1QhMc, c0KYU2j0TM4',
part = "id, snippet, contentDetails, statistics",
).execute()
# extracting the results from search response
results = list_videos_byid.get("items", [])
# empty list to store video details
videos = []
n = 1
for result in results:
videos.append(" (% s) (% s) (% s) (% s) (% s) (% s) "
% (n, result["snippet"]["title"],
result["snippet"]["tags"],
result['snippet']['description'],
result["snippet"]["publishedAt"],
result['contentDetails'],
result["statistics"]))
n = n + 1
print ("Videos:\n", "\n".join(videos), "\n")
if __name__ == "__main__":
multiple_video_details()
Выход:
Примечание: В приведенном выше примере мы использовали только ограниченные параметры. Есть много других параметров, которые можно задать, и если они не заданы, то какое значение по умолчанию они принимают, можно узнать из Документация по списку видео на Youtube
Ссылка: https://developers.google.com/youtube/v3/docs/videos/list