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

    Características: Social Syndication API

    El Social Syndication API es una API de acceso público que permite crear, administrar y utilizar sindicaciones para generar fuentes dinámicas (como fuentes MRSS) desde un catálogo de videos de VideoCloud.

    En este documento

    Documentos relacionados

    Introducción

    La API de configuración de sindicación de Brightcove es una API de acceso público que permite crear, administrar y utilizar sindicación para generar fuentes dinámicas (como fuentes MRSS) desde un Video Cloud catálogo de videos de la cuenta.

    También hay un asociado API de feed de sindicación que se puede usar para recuperar un feed asociado con una sindicación.

    Disponibilidad

    Las API de sindicación están disponibles para todos Video Cloud clientes que tienen acceso a las API de plataforma.

    Referencia de API / URL base / encabezados

    El Referencia de la API de configuración contiene todos los detalles sobre las operaciones, campos y parámetros disponibles.

    La URL base es:

    https://social.api.brightcove.com/v1

    Todas las solicitudes deben autenticarse mediante un encabezado de autorización:

    Authorization: Bearer {your_access_token}

    Consulte la siguiente sección sobre autenticación para obtener información sobre los tokens de acceso.

    Para cualquier solicitud que envíe un cuerpo de solicitud, también debe incluir un Content-Type: application/json cabecera.

    Autenticación

    El acceso a la API de configuración requiere la especificación de un bearer ficha del Servicio Brightcove OAuth en la solicitud Authorization encabezamiento. Los diversos métodos API también requieren que se especifique una de las siguientes operaciones (según el método al que se accede) para las credenciales en cuestión:

    • video-cloud/social/mrss/read
    • video-cloud/social/mrss/write

    Estas operaciones se pueden configurar a través de Sección de autenticación de API del módulo de administración de Studio:

    Social Permisos de sindicación
    Social Permisos de sindicación

    Si lo prefiere, también puede crear credenciales a través de OAuth API:

    Recurso de sindicación

    El recurso de sindicación es un objeto que define cómo se creará la sindicación. Aquí hay un cuerpo de solicitud de muestra para crear un recurso de sindicación:

      {
        "name": "80s music videos syndication",
        "type": "advanced",
        "include_all_content": false,
        "include_filter": "tags:mytag",
        "title": "80s Music Videos",
        "description": "Amateur Tokyo drift!",
        "destination_url": "http://mywebsite.com",
        "keywords": "80s, rock",
        "author": "Rick Astley",
        "category": "Music",
        "album_art_url": "http://my_album_art.jpg",
        "explicit": "no",
        "owner_name": "http://my_album_art.jpg",
        "owner_email": "rick@astley.com",
        "language": "en-us",
        "fetch_sources": true,
        "fetch_digital_master": false,
        "fetch_dynamic_renditions": true,
        "sort": "-created_at",
        "content_type_header": "application/xml"
      }

    La respuesta agregará algunos campos de solo lectura:

      {
        "id": "7f594cd3-4853-4174-aff3-203c3e99e9c2",
        "name": "80s music videos syndication",
        "type": "advanced",
        "include_all_content": false,
        "include_filter": "tags:mytag",
        "title": "80s Music Videos",
        "description": "Amateur Tokyo drift!",
        "syndication_url": "https://social.feeds.brightcove.com/v1/accounts/9999999999999/mrss/accounts/{account_id}/mrss/syndications/7f594cd3-4853-4174-aff3-203c3e99e9c2/feed",
        "destination_url": "http://mywebsite.com",
        "keywords": "80s, rock",
        "author": "Rick Astley",
        "category": "Music",
        "album_art_url": "http://my_album_art.jpg",
        "explicit": "no",
        "owner_name": "http://my_album_art.jpg",
        "owner_email": "rick@astley.com",
        "language": "en-us",
        "fetch_sources": true,
        "fetch_digital_master": false,
        "fetch_dynamic_renditions": true,
        "sort": "-created_at",
        "content_type_header": "application/xml"
        }
    Recurso de sindicación
    Campo Tipo Solo lectura Detalles
    id Cuerda generado cuando se crea la sindicación
    name Cuerda No un nombre interno para esta sindicación, requerido para solicitudes POST
    content_type_header Cuerda No Si se establece, anula el encabezado Content-Type devuelto por el servidor de feeds para el feed de esta distribución. De lo contrario, el feed tiene como valor predeterminado un valor de encabezado específico del tipo de distribución.
    include_all_content Boolean No Si es cierto, todos los videos del catálogo están incluidos en esta sindicación
    include_filter Cuerda No Debe especificarse si include_all_content es falso. El valor es un CMS API cadena de búsqueda utilizando el CMS API sintaxis de búsqueda de video v2. Se aplican todas las reglas de sintaxis: la única diferencia es que la cadena de búsqueda se ingresa como include_filter valor en lugar de un ?query= param.
    type Cuerda No El tipo de feed que se generará. El tipo universal permite que se generen feeds personalizados mediante una plantilla de feeds cargada. Valores válidos: advanced, google, iphone, ipad, mp4, itunes, roku, source, universal. Requerido para solicitudes POST
    title Cuerda No El título de este feed. Esto se incluye dentro del etiqueta para los tipos de feeds aplicables
    description Cuerda No La descripción de este feed. Esto se incluye dentro del etiqueta para los tipos de feeds aplicables
    syndication_url Cuerda La URL del feed MRSS de esta sindicación
    destination_url Cuerda No La URL que se incluirá dentro del etiqueta para los tipos de feeds aplicables
    keywords Cuerda No lista delimitada por comas, solo se utiliza para iTunes y (potencialmente) feeds universales
    author Cuerda No solo se usa para iTunes y (potencialmente) feeds universales
    owner_name Cuerda No solo se usa para iTunes y (potencialmente) feeds universales
    language Cuerda No solo se usa para iTunes y feeds (potencialmente) universales: código de idioma de dos letras en minúsculas, como "en"
    owner_email Cuerda No solo se usa para iTunes y (potencialmente) feeds universales
    category Cuerda No solo se usa para iTunes y (potencialmente) feeds universales. Para especificar una categoría con una subcategoría, sepárelas con dos puntos (:), por ejemplo: "Business:Business News". "category": "Music"
    album_art_url Cuerda No URL para imagen, solo se utiliza para iTunes y (potencialmente) feeds universales
    fetch_sources Boolean No Para plantillas universales, ya sea para obtener metadatos de origen de video: si la plantilla no necesita estos metadatos, el rendimiento puede mejorarse especificando false; podría estar vacío si no existe una fuente utilizable
    fetch_digital_master Boolean No Para plantillas universales, ya sea para buscar metadatos maestros digitales de video: si la plantilla no necesita estos metadatos, el rendimiento se puede mejorar especificando false; podría estar vacío si no existe un maestro digital
    fetch_dynamic_renditions Boolean No Para plantillas universales, ya sea para obtener metadatos de reproducción dinámica de video: si la plantilla no necesita estos metadatos, el rendimiento puede mejorarse especificando false
    sort Cuerda No Un especificador de clasificación de video CMS que indica el orden de devolución de los resultados de alimentación deseados. Valores compatibles con CMS como name, reference_id, created_at, published_at, updated_at, schedule.starts_at, schedule.ends_at, state, plays_total y plays_trailing_week se puede especificar Para ordenar en orden descendente, prefacio el valor con un signo menos (-), es decir -created_at, especificado, el feed se ordenará por el más reciente updated_at fecha por defecto.

    Vea CMS API sintaxis de búsqueda de video v2 para detalles sobre el include_filter propiedad .. Se aplican todas las reglas de sintaxis de búsqueda: la única diferencia es que la cadena de búsqueda se ingresa como include_filter valor en lugar de un ?query= param.

    Operaciones

    Consulte la Referencia de API para obtener detalles completos de las operaciones disponibles:

    Se admiten las siguientes acciones:

    Los mensajes de error

    Si falla alguna solicitud de API, se devolverá un mensaje de error. Las respuestas de error se verán así:

      [
        {
          "error_code" : "Application error code 1",
          "message" : "Application error message 1"
        }, {
          "error_code" : "Application error code 2",
          "message" : "Application error message 2"
        }
      ]

    Crea una sindicación

    Método: POST

    Punto final: /accounts/{account_id}/mrss/syndications

    Cuerpo de solicitud de muestra:

      {
        "name": "my mp4 feed",
        "type": "mp4"
      }

    Tenga en cuenta que name y type los campos son obligatorios. Otros son opcionales.

    Actualizar una sindicación

    Método: PATCH

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}

    Cuerpo de solicitud de muestra:

      {
        "name": "my new name"
      }

    Tenga en cuenta que el cuerpo de la solicitud para solicitudes PATCH debe no incluir los campos (type, id y syndication_url).

    Eliminar una sindicación

    Método: DELETE

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}

    Obtenga todas las sindicaciones para una cuenta

    Método: GET

    Punto final: /accounts/{account_id}/mrss/syndications

    Obtén una sindicación específica

    Método: GET

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}

    Establecer la plantilla para una sindicación universal

    Método: PUT

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}/template

    Cuerpo de solicitud de muestra:

      <feed header>My Feed Header</feed header>
      

    La plantilla anterior generaría un feed similar a:

      <feed header>My Feed Header</feed header>
        <item>
          <title>Title for Video 1</title>
          <video_info>Description for Video 1</video_info>
        </item>
        <item>
          <title>Title for Video 2</title>
          <video_info>Description for Video 2</video_info>
        </item>

    Obtenga la plantilla para una sindicación universal

    Método: GET

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}/template

    Obtener el feed asociado a una sindicación

    La URL del feed se puede obtener de la sindicación syndication_url campo, o construido manualmente. Tenga en cuenta que el API de feed de sindicación También se puede utilizar para recuperar un feed sin autenticación.

    Método: GET

    Punto final: /accounts/{account_id}/mrss/syndications/{syndication_id}/feed

    Lenguaje de plantilla universal

    Las sindicación universales permiten fusionar los datos del catálogo con una plantilla personalizada para generar cualquier tipo de feed deseado. El idioma de plantilla admitido es Líquido. Los feeds para los tipos de sindicación predeterminados se generan utilizando los mismos tipos de plantillas. Puede ver el plantillas proporcionadas como muestras para ayudarlo a crear plantillas personalizadas si es necesario.

    Las secciones a continuación identifican la sindicación, el activo, la fuente y las propiedades maestras digitales que puede usar, así como una extensión de Liquid agregada para mayor comodidad.

    Ver todo Video Cloud campos de metadatos de video con descripciones, para ir al CMS API Referencia de campos de video.

    Propiedades de nivel superior

    Derivado de los campos de sindicación

    • album_art_url
    • author
    • category
    • description
    • destination_url
    • explicit
    • keywords
    • name
    • owner_name
    • owner_email
    • subtitle
    • syndication_id
    • syndication_url
    • title

    Video Cloud ID de la cuenta

    • account_id

    VideoCloud predeterminado player prefijo de URL de página

    Usar así:

      <media:player url="//default_default/index.html?videoId=">
    • player_url

    URL de la página siguiente del feed

    • next_page

    Colección de recursos de video recuperados del catálogo (ver más abajo para más detalles)

    • assets

    Propiedades de los activos

    Los recursos en la colección de activos se derivan de los recursos de video devueltos por el método de API de obtención de videos de CMS, y se admiten todas las mismas propiedades, incluidas, entre otras, las siguientes:

    • created_at
    • description
    • duration
    • id
    • images
    • images.thumbnail
    • images.poster
    • long_description
    • name
    • original_filename
    • published_at
    • schedule
    • state
    • tags
    • text_tracks
    • updated_at

    Los recursos de activos también admiten las siguientes propiedades:

    • sources (colección de fuentes para el video; consulte la siguiente sección para ver las propiedades de la fuente)
    • digital_master (estará vacío si no existe un maestro digital; consulte a continuación las propiedades del maestro digital)
    • best_mp4_source (la fuente MP4 de la más alta calidad; puede estar vacía si no hay fuentes MP4. Las propiedades serán las mismas que los elementos devueltos en el sources)
    • hls_source (devuelve la fuente HLS; estará vacía si no existe)
    • best_dynamic_rendition_quality (devuelve la calidad de video de la reproducción dinámica del video con el tamaño de fotograma más grande, si se obtuvieron metadatos de reproducción dinámica para el video. Los valores permitidos son "SD", "HD", "FHD" y "UHD").

    Propiedades de origen

    Los recursos en la colección de fuentes para un activo se derivan de los recursos de fuente de video devueltos por el método de API Get Video Sources de CMS. Se admiten las siguientes propiedades:

    • app_name
    • asset_id
    • codec
    • container
    • created_at
    • duration
    • encoding_rate
    • height
    • size
    • src
    • stream_name
    • type
    • uploaded_at
    • width

    Propiedades maestras digitales

    El digital_master El recurso para un activo se deriva del recurso maestro digital devuelto por el método API de Obtener información maestra digital del CMS. Se admiten las siguientes propiedades:

    • duration
    • encoding_rate
    • height
    • size
    • url
    • width

    Propiedades de representación dinámica

    El dynamic_renditions El recurso para un activo se deriva de las representaciones dinámicas devueltas por el método de API CMS Get Digital Master Info. Se admiten las siguientes propiedades:

    • rendition_id
    • frame_height
    • frame_width
    • media_type
    • encoding_rate
    • created_at
    • updated_at
    • size
    • duration
    • audio_configuration
    • language
    • variant

    Extensiones a líquido

    filtro toUTC

    Hemos ampliado nuestro analizador líquido para admitir un filtro toUTC que analizará la mayoría de los formatos de cadena de fecha y hora ISO-8601 estándar y los transformará en cadenas de fecha y hora UTC estándar. Este formato es aceptable para el filtro de fecha de Liquid, que luego puede usarse para formatear las marcas de tiempo en cadenas de fecha y hora en cualquier formato deseado. Por ejemplo:

      <pubDate></pubDate>

    Esto produce una salida como la siguiente si asset.published_at tiene un valor de 2019-08-09T13: 32: 52.031Z ::

      <pubDate>Fri, 09 Aug 2019 09:32:52 +0000</pubDate>

    filtro toEpoch

    El analizador líquido que utilizamos no admite el token "% s" en los filtros de fecha para convertir las fechas en marcas de tiempo de época Unix. Para solucionar esto, se proporciona un filtro personalizado toEpoch que se puede utilizar para convertir especificaciones de fecha válidas al formato de época. El filtro devuelve un valor de datos numéricos que representa milisegundos desde la época adecuada para ingresar a los filtros matemáticos. Por ejemplo:

      <toEpochMillis>now</toEpochMillis>
      <toEpochSeconds>0</toEpochSeconds>
      <thirtyDaysAgo>-2592000000</thirtyDaysAgo>

    produce una salida como la siguiente:

      <toEpochMillis>1580917253024</toEpochMillis>
      <toEpochSeconds>1580917253</toEpochSeconds>
      <thirtyDaysAgo>2020-01-06T15:40:53.055Z</thirtyDaysAgo>

    de filtro de época

    El filtro fromEpoch convierte números que representan milisegundos desde la época a cadenas de fecha UTC. El filtro también aceptará una cadena que contenga los dígitos del valor de época como entrada. La salida se puede pasar al filtro de fecha para volver a formatear si es necesario.

    Por ejemplo:

      
      <fromEpochMillis>now</fromEpochMillis>
      <thirtyDaysAgoAltFormat>52067-04-10</thirtyDaysAgo>
      

    produce una salida como la siguiente:

      
      <fromEpochMillis>2020-02-05T16:09:37.809Z</fromEpochMillis>
      <thirtyDaysAgoAltFormat>2020-02-05</thirtyDaysAgo>

    Página actualizada por última vez el 28 Sep 2020