Code Python

Cette rubrique fournit un exemple de script Python pour l'ingestion d'une vidéo à l'aide de l'API Dynamic Ingest.

Introduction

Les API REST comme les API de la plate-forme Brightcove peuvent être utilisées avec n'importe quel langage. Le script Python inclus ici n'est qu'un exemple pour vous montrer comment les requêtes sont assemblées. Il existe un autre exemple de requête GET simple (pour l'API CMS) ici.

Dépendances

Script Python

Le code ci-dessous montre le script. Notez que pour l'utiliser, vous devrez fournir vos propres valeurs pour les éléments suivants :

  • ***ID DE COMPTE ICI**** (ligne 8)
  • ***ID CLIENT ICI**** (ligne 9)
  • ***CLIENT SECRET ICI**** (ligne 10)
  • ***TITRE DE LA VIDÉO ICI*** (ligne 27)
  • ***URL DE LA VIDÉO SOURCE ICI*** (ligne 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'])