Código Python

Este tema proporciona una secuencia de comandos de Python de muestra para ingerir un video mediante la API de ingesta dinámica.

Introducción

Las API REST, como las API de la plataforma Brightcove, se pueden utilizar con cualquier idioma. La secuencia de comandos de Python incluida aquí es solo una muestra para mostrarle cómo se agrupan las solicitudes. Hay otra muestra de una solicitud GET simple (para la API de CMS) aquí.

Dependencias

Secuencia de comandos de Python

El siguiente código muestra el script. Tenga en cuenta que para usarlo, deberá proporcionar sus propios valores para lo siguiente:

  • *** ID DE CUENTA AQUÍ **** (línea 8)
  • *** ID DE CLIENTE AQUÍ **** (línea 9)
  • *** CLIENTE SECRET AQUÍ **** (línea 10)
  • *** TÍTULO DEL VIDEO AQUÍ *** (línea 27)
  • *** URL FUENTE DEL VIDEO AQUÍ *** (línea 40)
    #!/usr/bin/env python
    
    import sys
    import requests
    import json
    import argparse
    
    pub_id = "***ACCOUNT ID HERE****"
    client_id = "***CLIENT ID HERE****"
    client_secret = "***CLIENT SECRET HERE****"
    access_token_url = "https://oauth.brightcove.com/v4/access_token"
    profiles_base_url = "https://ingestion.api.brightcove.com/v1/accounts/{pubid}/profiles"
    
    def get_access_token():
        access_token = None
        r = requests.post(access_token_url, params="grant_type=client_credentials", auth=(client_id, client_secret), verify=False)
        if r.status_code == 200:
            access_token = r.json().get('access_token')
            print(access_token)
        return access_token
    
    def create_video():
        access_token = get_access_token()
        headers = { 'Authorization': 'Bearer ' + access_token, "Content-Type": "application/json" }
    
        url = ("https://cms.api.brightcove.com/v1/accounts/{pubid}/videos/").format(pubid=pub_id)
        data = '{"name": "***VIDEO TITLE HERE***"}'
        r = requests.post(url, headers=headers, data=data)
        return r.json()
    
    def submit_pbi(video_id):
        access_token = get_access_token()
        print access_token
        headers = { 'Authorization': 'Bearer ' + access_token, "Content-Type": "application/json" }
    
        url = ("https://ingest.api.brightcove.com/v1/accounts/{pubid}/videos/{videoid}/ingest-requests").format(pubid=pub_id, videoid=video_id)
        print url
    
        data = '''{
                "master": { "url": "****SOURCE VIDEO URL HERE***" }
             }'''
        r = requests.post(url, headers=headers, data=data)
        print r.headers
        return r.json()
    
    v = create_video()
    print v
    print submit_pbi(v['id'])