API de datos de Youtube | Serie 1

Google proporciona un gran conjunto de API para que el desarrollador elija. Todos y cada uno de los servicios proporcionados por Google tienen una API asociada. Siendo uno de ellos, la API de datos de Youtube es muy fácil de usar y ofrece funciones como:

  • buscar videos
  • Manejar videos como recuperar información sobre un video, insertar un video, eliminar un video, etc.
  • Manejar suscripciones como listas de todas las suscripciones, insertar o eliminar una suscripción.
  • Recupere información sobre comentarios como respuestas a un comentario específico identificado por un parentId, etc.

En este artículo, discutiremos la API de Google Youtube. Siga los pasos a continuación para habilitar la API y comenzar a usarla.

  1. Crear nuevo proyecto, habilitar API y crear credenciales: en este paso crearemos un proyecto y habilitaremos la API.
    • Vaya a Google Developers Console y haga clic en Iniciar sesión en la esquina superior derecha de la página. Inicie sesión con las credenciales de la cuenta de Google válida. Si no tiene una cuenta de Google, primero configure una cuenta y luego use los detalles para iniciar sesión en la página de inicio de Google Developers.
    • Ahora navegue hasta el panel del desarrollador y cree un nuevo proyecto.
    • Haga clic en la opción Habilitar API .
  2. En el campo de búsqueda, busque API de datos de Youtube y seleccione la opción API de datos de Youtube que aparece en la lista desplegable.

  3. Serás redirigido a una pantalla que dice información sobre la API de datos de Youtube , junto con dos opciones: HABILITAR y PROBAR API.
  4. Haga clic en la opción HABILITAR para comenzar con la API.
  5. En la barra lateral debajo de API y servicios , seleccione Credenciales .
  6. En la pestaña Credenciales , seleccione la lista desplegable Crear credenciales y elija Clave de API .
    Hay dos tipos de Credenciales: Clave API y OAuth . OAuth le proporciona una identificación de cliente y una clave secreta en forma de archivo .json. OAuth generalmente se usa cuando se requiere autorización, como en el caso de recuperar videos que le gustan a un usuario. Entonces, para el resto de los casos en los que no se requiere autorización, como buscar videos usando una palabra clave o para buscar videos relacionados, etc., usaremos la clave API.
  7. Instalación: el cliente API de Google para python se puede instalar usando el comando pip simple :
    pip install --upgrade google-api-python-client

Comencemos con la función de búsqueda .

Hay cinco variantes del método de búsqueda : búsqueda por palabra clave, búsqueda por ubicación, búsqueda de eventos en vivo, búsqueda de videos relacionados y búsqueda de mis videos. Vamos a cubrir los dos primeros tipos de métodos de búsqueda.

Función de búsqueda por palabra clave: Esto devolverá la lista de videos, canales y listas de reproducción de acuerdo con la consulta de búsqueda. De manera predeterminada, si se omite el parámetro de tipo , el método mostrará videos, canales y listas de reproducción. El valor predeterminado del parámetro de resultados máximos es 5. Este ejemplo recupera resultados asociados con la palabra clave «Geeksforgeeks».

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)
     

Salida:

 
función de búsqueda por ubicación: este ejemplo recupera resultados asociados con la palabra clave «Geeksforgeeks». La solicitud recupera los 5 resultados principales dentro de los 100 km (especificados por el locationRadius valor del parámetro) del punto especificado por el valor del parámetro de ubicación.

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)

Producción:

Nota: location el parámetro es una string que especifica las coordenadas de latitud/longitud de una ubicación geográfica.

  • El parámetro de ubicación identifica el punto en el centro del área.
  • El parámetro locationRadius especifica la distancia máxima que la ubicación asociada con un video puede estar desde ese punto para que el video aún se incluya en los resultados de búsqueda.

typeel argumento solo puede ser video en este tipo de método de búsqueda. En este ejemplo, hemos utilizado las coordenadas de latitud/longitud para Delhi, India.

Nota: Hemos utilizado solo parámetros limitados en el ejemplo anterior. Hay muchos otros parámetros que se pueden configurar y, si no se configuran, el valor predeterminado que toman se puede encontrar en la documentación de la lista de búsqueda de Youtube . Consulte la documentación para tener una comprensión completa de los parámetros disponibles.

Referencias: https://developers.google.com/youtube/v3/docs/search/list

Publicación traducida automáticamente

Artículo escrito por rashi_garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *