soporte Contactar con asistencia técnica | estado del sistema Estado del Sistema
Contenido de la página

    Obtener un token de acceso

    Esta muestra recupera un token de acceso de Brightcove OAuth API desde una aplicación web, enviando la solicitud a través de un proxy.

    Introducción

    Obtener tokens de acceso es una operación crucial para la mayoría del trabajo con las API de Brightcove, ya que la mayoría de ellos usan tokens de acceso para autenticar las solicitudes.

    Para obtener una explicación completa de los tokens de acceso, consulte Cómo funciona el servicio Brightcove OAuth y Obtener tokens de acceso.

    Esta muestra le muestra cómo obtener un token de acceso desde una aplicación web. Porque el OAuth API no está habilitado para CORS y las solicitudes deben realizarse desde el lado del servidor, la aplicación envía información a un proxy, que luego realiza la solicitud de API y envía la respuesta al cliente. El proxy aquí está escrito en PHP, pero cualquier lenguaje del lado del servidor funcionará, solo necesita poder enviar una solicitud POST a la aplicación a través de Internet.

    Obtener credenciales

    Conseguir un client_id y client_secret, deberá ir a la interfaz de usuario de OAuth y registrar esta aplicación:

    Estos eligen los permisos que necesitarás para la API que vas a usar:

    Permisos API
    Permisos API

    También puede obtener sus credenciales a través de CURL o cartero, consulte:

    Si está obteniendo credenciales directamente de la OAuth API, Consulte Operaciones API para solicitudes de credenciales de clientes para los permisos que necesita para diferentes operaciones de API.

    Obtener acceso a la aplicación Token

    Encuentre todo el código asociado con esta muestra en este Repositorio GitHub.

    Vea la pluma OAuth API Ejemplo: obtener un token de acceso por Brightcove Learning Services (@rcrooks1969) Sobre CodePen.

    Usando el CodePen

    Aquí hay algunos consejos para usar efectivamente el CodePen anterior:

    • Alternar la visualización real de la player haciendo clic en Resultado .
    • Haga clic en el HTML / CSS / JS botones para visualizar UNO de los tipos de código.
    • (Haga clic aquí para más información) Editar en CodePen en la esquina superior derecha para bifurcar este CodePen en su propia cuenta.
    • Encuentre todo el código asociado con esta muestra en este Repositorio GitHub.

    Código proxy

    Para crear su propia versión de la aplicación de muestra en esta página, debe crear y alojar su propio proxy. (Los servidores proxy utilizados por Brightcove Learning Services solo aceptan solicitudes de dominios de Brightcove). A continuación se muestra una versión del código proxy sin las restricciones de origen.

        <?php
        /**
         * access-token-proxy.php - proxy for Brightcove RESTful APIs
         * gets an access token and returns it
         * Accessing:
         *         (note you should *always* access the proxy via HTTPS)
         *     Method: POST
         *
         * @post {string} client_id - OAuth2 client id with sufficient permissions for the request
         * @post {string} client_secret - OAuth2 client secret with sufficient permissions for the request
         *
         * @returns {string} $response - JSON response received from the OAuth API
         */
        
        
        // CORS enablement and other headers
        header("Access-Control-Allow-Origin: *");
        header("Content-type: application/json");
        header("X-Content-Type-Options: nosniff");
        header("X-XSS-Protection");
        
        // note that if you are using this proxy for a single credential
        // you can just hardcode the client id and secret below instead of passing them
        
        $client_id     = $_POST["client_id"];
        $client_secret = $_POST["client_secret"];
        $auth_string   = "{$client_id}:{$client_secret}";
        $request       = "https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials";
        $ch            = curl_init($request);
        curl_setopt_array($ch, array(
                CURLOPT_POST           => TRUE,
                CURLOPT_RETURNTRANSFER => TRUE,
                CURLOPT_SSL_VERIFYPEER => FALSE,
                CURLOPT_USERPWD        => $auth_string,
                CURLOPT_HTTPHEADER     => array(
                    'Content-type: application/x-www-form-urlencoded',
                )
            ));
        $response = curl_exec($ch);
        curl_close($ch);
        
        // Check for errors
        if ($response === FALSE) {
            die(curl_error($ch));
            echo 'An error occurred';
        } else {
          echo $response;
        }
        
        ?>
        

    Página actualizada por última vez el 12 jun 2020