지원 지원 문의 | 시스템 상태 시스템 상태

개요 : Social Syndication API

그리고, Social Syndication API VideoCloud 비디오 카탈로그에서 신디케이션을 작성, 관리 및 사용하여 MRSS 피드와 같은 동적 피드를 생성하는 데 공개적으로 액세스 할 수있는 API입니다.

이 문서에서

관련된 문서

소개

Brightcove 신디케이션 구성 API는 공개적으로 액세스 가능한 API로, 신디케이션을 생성, 관리 및 사용하여 MRSS 피드와 같은 동적 피드를 생성하는 데 사용할 수 있습니다. Video Cloud 계정의 비디오 카탈로그.

또한 관련이 있습니다 신디케이션 피드 API 신디케이션과 연관된 피드를 검색하는 데 사용할 수 있습니다.

유효성

신디케이션 API는 모두가 사용할 수 있습니다 Video Cloud 플랫폼 API에 액세스 할 수있는 고객.

API 참조 / 기본 URL / 헤더

그리고, 구성 API 참조 사용 가능한 작업, 필드 및 매개 변수에 대한 모든 세부 정보가 포함되어 있습니다.

기본 URL은 다음과 같습니다.

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

모든 요청은 인증 헤더를 통해 인증되어야합니다.

Authorization: Bearer {your_access_token}

액세스 토큰에 대한 정보는 다음 인증 섹션을 참조하십시오.

요청 본문을 보내는 모든 요청에 ​​대해 Content-Type: application/json 헤더.

인증

구성 API에 액세스하려면 bearer 에서 토큰 Brightcove OAuth 서비스 요청에서 Authorization 헤더. 다양한 API 메소드는 또한 액세스하는 메소드에 따라 다음 조작 중 하나를 해당 신임 정보에 지정해야합니다.

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

이러한 작업은 Studio 관리 모듈의 API 인증 섹션:

Social 신디케이션 권한
Social 신디케이션 권한

원하는 경우 다음을 통해 자격 증명을 만들 수도 있습니다. OAuth API:

신디케이션 자원

신디케이션 자원은 신디케이션 작성 방법을 정의하는 오브젝트입니다. 신디케이션 자원을 작성하기위한 샘플 요청 본문은 다음과 같습니다.

  {
    "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"
  }

응답에 일부 읽기 전용 필드가 추가됩니다.

  {
    "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"
    }
신디케이션 자원
분야 거래증명방식 읽기 전용 설명
id 신디케이션이 생성 될 때 생성됩니다
name 아니 이 신디케이션의 내부 이름-POST 요청에 필요
include_all_content 부울 아니 true 인 경우 모든 카탈로그 비디오가이 신디케이션에 포함됩니다.
include_filter 아니 include_all_content가 false 인 경우 지정해야합니다. 가치는 CMS API 를 사용하여 검색 문자열 CMS API 비디오 검색 구문 v2. 모든 구문 규칙이 적용됩니다. 유일한 차이점은 검색 문자열이 include_filter 오히려 가치 ?query= 매개 변수.
type 아니 생성 될 피드의 유형입니다. 범용 유형을 사용하면 업로드 된 피드 템플릿으로 맞춤 피드를 생성 할 수 있습니다. 유효한 값 : advanced, google, iphone, ipad, mp4, itunes, roku, source, universal. POST 요청에 필요
title 아니 이 피드의 제목입니다. 적용 가능한 피드 유형에 대한 <channel> 태그 안에 포함됩니다.
description 아니 이 피드에 대한 설명입니다. 적용 가능한 피드 유형에 대한 <channel> 태그 안에 포함됩니다.
syndication_url 이 신디케이션 MRSS 피드의 URL
destination_url 아니 적용 가능한 피드 유형에 대해 <channel> 태그 내에 포함될 URL
keywords 아니 iTunes 및 (잠재적으로) 범용 피드에만 사용되는 쉼표로 구분 된 목록
author 아니 아이튠즈 및 (잠재적으로) 범용 피드에만 사용
owner_name 아니 아이튠즈 및 (잠재적으로) 범용 피드에만 사용
language 아니 아이튠즈 및 (잠재적으로) 범용 피드에만 사용 – 소문자로 된 두 글자 언어 코드 "en"
owner_email 아니 아이튠즈 및 (잠재적으로) 범용 피드에만 사용
category 아니 iTunes 및 (잠재적으로) 범용 피드에만 사용됩니다. 하위 범주가있는 범주를 지정하려면 콜론 (:)으로 범주를 구분하십시오 (예 : "Business:Business News". "category": "Music"
album_art_url 아니 이미지의 URL이며 iTunes 및 (잠재적으로) 범용 피드에만 사용됩니다.
fetch_sources 부울 아니 범용 템플릿의 경우 비디오 소스 메타 데이터를 가져올 지 여부-템플릿에이 메타 데이터가 필요하지 않은 경우 다음을 지정하여 성능을 향상시킬 수 있습니다. false; 사용 가능한 소스가 없으면 비어있을 수 있습니다
fetch_digital_master 부울 아니 범용 템플릿의 경우 비디오 디지털 마스터 메타 데이터를 가져올 지 여부-템플릿에이 메타 데이터가 필요하지 않은 경우 다음을 지정하여 성능을 향상시킬 수 있습니다. false; 디지털 마스터가 없으면 비어있을 수 있습니다
fetch_dynamic_renditions 부울 아니 범용 템플릿의 경우 비디오 동적 변환 메타 데이터를 가져올 지 여부-템플릿에이 메타 데이터가 필요하지 않은 경우 다음을 지정하여 성능을 향상시킬 수 있습니다. false
sort 아니 원하는 피드 결과 반환 순서를 나타내는 CMS 비디오 정렬 지정자. 다음과 같은 CMS 지원 값 name, reference_id, created_at, published_at, updated_at, schedule.starts_at, schedule.ends_at, state, plays_totalplays_trailing_week 지정할 수 있습니다. 내림차순으로 정렬하려면 값 앞에 빼기 (-) 부호를 붙입니다. -created_at, 피드를 가장 최근순으로 정렬합니다. updated_at 기본적으로 날짜입니다.

만나다 CMS API 비디오 검색 구문 v2 에 대한 자세한 내용 include_filter property .. 모든 검색 구문 규칙이 적용됩니다. 유일한 차이점은 검색 문자열이 include_filter 오히려 가치 ?query= 매개 변수.

운영

사용 가능한 작업에 대한 자세한 내용은 API 참조 서를 참조하십시오.

다음과 같은 동작이 지원됩니다.

오류 메시지

API 요청이 실패하면 오류 메시지가 리턴됩니다. 오류 응답은 다음과 같습니다.

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

신디케이션 생성

방법 : POST

종점 : /accounts/{account_id}/mrss/syndications

샘플 요청 본문 :

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

참고로 nametype 필드는 필수입니다. 다른 것은 선택 사항입니다.

신디케이션 업데이트

방법 : PATCH

종점 : /accounts/{account_id}/mrss/syndications/{syndication_id}

샘플 요청 본문 :

  {
    "name": "my new name"
  }

PATCH 요청의 요청 본문은 다음과 같아야합니다. 지원 필드를 포함하십시오 (type, idsyndication_url).

신디케이션 삭제

방법 : DELETE

종점 : /accounts/{account_id}/mrss/syndications/{syndication_id}

계정에 대한 모든 신디케이션 가져 오기

방법 : GET

종점 : /accounts/{account_id}/mrss/syndications

특정 신디케이트 받기

방법 : GET

종점 : /accounts/{account_id}/mrss/syndications/{syndication_id}

범용 신디케이션을위한 템플리트 설정

방법 : PUT

종점 : /accounts/{account_id}/mrss/syndications/{syndication_id}/template

샘플 요청 본문 :

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

위 템플릿은 다음과 유사한 피드를 생성합니다.

  <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>

보편적 신디케이션을위한 템플릿 얻기

방법 : GET

종점 : /accounts/{account_id}/mrss/syndications/{syndication_id}/template

신디케이션과 관련된 피드 가져 오기

피드 URL은 신디케이션에서 얻을 수 있습니다. syndication_url 필드 또는 수동으로 구성됩니다. 참고 신디케이션 피드 API 인증없이 피드를 검색하는 데 사용할 수도 있습니다.

방법 : GET

종점 : /accounts/{account_id}/mrss/syndications/{syndication_id}/feed

범용 템플릿 언어

범용 신디케이션을 통해 카탈로그 데이터를 사용자 정의 템플리트와 병합하여 원하는 피드를 생성 할 수 있습니다. 지원되는 템플릿 언어는 리퀴드. 기본 신디케이션 유형에 대한 피드는 동일한 유형의 템플리트를 사용하여 생성됩니다. 샘플로 제공된 템플릿 필요한 경우 사용자 지정 템플릿을 작성하는 데 도움이됩니다.

아래 섹션에서는 사용 가능한 신디케이션, 자산, 소스 및 디지털 마스터 속성과 추가 된 Liquid의 확장 기능에 대해 설명합니다.

모두보기 Video Cloud 설명이 포함 된 동영상 메타 데이터 필드 CMS API 비디오 필드 참조.

최상위 속성

신디케이션 필드에서 파생

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

Video Cloud 계정 ID

  • account_id

VideoCloud 기본 player 페이지 URL 접두사

다음과 같이 사용하십시오.

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

피드의 다음 페이지 URL

  • next_page

카탈로그에서 검색 한 비디오 자산 모음 (자세한 내용은 아래 참조)

  • assets

자산 속성

자산 모음의 리소스는 CMS 비디오 가져 오기 API 메서드에서 반환 한 비디오 리소스에서 파생되며 다음을 포함하지만 이에 제한되지 않는 모든 동일한 속성이 지원됩니다.

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

자산 자원은 다음 특성도 지원합니다.

  • sources (비디오 소스 모음-소스 속성에 대해서는 다음 섹션 참조)
  • digital_master (디지털 마스터가없는 경우 비어 있음-디지털 마스터 속성은 아래 참조)
  • best_mp4_source (최고 품질의 MP4 소스-MP4 소스가없는 경우 비어있을 수 있습니다. 속성은에서 반환 된 항목과 동일합니다. sources)
  • hls_source (HLS 소스를 반환-존재하지 않는 경우 비어 있음)
  • best_dynamic_rendition_quality 동영상에 대해 동적 변환 메타 데이터를 가져온 경우 프레임 크기가 가장 큰 비디오 동적 변환의 비디오 품질을 반환합니다. 허용 가능한 값은 "SD", "HD", "FHD"및 "UHD"입니다.

소스 속성

자산의 소스 콜렉션에있는 자원은 CMS 비디오 소스 가져 오기 API 메소드에서 리턴 한 비디오 소스 자원에서 파생됩니다. 다음과 같은 속성이 지원됩니다.

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

디지털 마스터 속성

그리고, digital_master 자산의 자원은 CMS Get Digital Master Info API 메소드에서 리턴 된 디지털 마스터 자원에서 파생됩니다. 다음과 같은 속성이 지원됩니다.

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

동적 변환 속성

그리고, dynamic_renditions 자산에 대한 자원은 CMS Get Digital Master Info API 메소드에서 반환 한 동적 변환에서 파생됩니다. 다음과 같은 속성이 지원됩니다.

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

액체로의 확장

TOUTC 필터

대부분의 표준 ISO-8601 날짜 / 시간 문자열 형식을 구문 분석하고 표준 UTC 날짜 / 시간 문자열로 변환하는 toUTC 필터를 지원하도록 Liquid 파서를 확장했습니다. 이 형식은 Liquid의 날짜 필터에 적합하며, 시간 소인을 원하는 형식의 날짜 시간 문자열로 다시 형식화하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  <pubDate></pubDate>

asset.published_at의 값이 2019-08-09T13 : 32 : 52.031Z : 인 경우 다음과 같은 출력이 생성됩니다.

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

ToEpoch 필터

우리가 사용하는 Liquid Parser는 날짜를 Unix epoch 타임 스탬프로 변환하기 위해 날짜 필터에서 "% s"토큰을 지원하지 않습니다. 이를 해결하기 위해 유효한 날짜 스펙을 에포크 형식으로 변환하는 데 사용할 수있는 toEpoch 사용자 정의 필터가 제공됩니다. 필터는 수학 필터 입력에 적합한 에포크 (epoch) 이후 밀리 초를 나타내는 숫자 데이터 값을 반환합니다. 예를 들면 다음과 같습니다.

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

다음과 같은 출력을 생성합니다.

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

FromEpoch 필터

fromEpoch 필터는 신기원 이후의 밀리 초를 나타내는 숫자를 UTC 날짜 문자열로 변환합니다. 또한 필터는 에포크 값 숫자가 포함 된 문자열을 입력으로 허용합니다. 필요한 경우 출력을 날짜 필터로 전달하여 다시 포맷 할 수 있습니다.

예 :

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

다음과 같은 출력을 생성합니다.

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

22 년 2020 월 XNUMX 일에 마지막으로 업데이트 된 페이지