지원 고객 지원 문의 | 시스템 상태 시스템 상태
페이지 내용

    개요: 소셜 신디케이션 API

    소셜 신디케이션 API는 VideoCloud 비디오 카탈로그에서 동적 피드 (예: MRSS 피드) 를 생성하는 데 신디케이션을 생성, 관리 및 사용할 수 있도록 공개적으로 액세스 가능한 API입니다.

    이 문서에서

    관련된 문서

    서문

    Brightcove 신디케이션 구성 API는 공개적으로 액세스 할 수있는 API로, 신디케이션을 생성, 관리 및 사용하여 Video Cloud 계정의 비디오 카탈로그에서 동적 피드 (예 : MRSS 피드)를 생성 할 수 있습니다.

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

    가용성

    신디케이션 API는 Platform API에 액세스 할 수있는 모든 Video Cloud 고객이 사용할 수 있습니다.

    API 참조 / 기본 URL / 헤더

    그만큼구성 API 참조사용 가능한 작업, 필드 및 매개 변수에 대한 모든 세부 정보가 포함됩니다.

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

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

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

    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 인증 섹션 :

    소셜 신디케이션 권한
    소셜 신디케이션 권한

    원하는 경우 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",
        "content_type_header": "application/xml"
      }

    응답은 일부 읽기 전용 필드를 추가합니다.

      {
        "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"
        }
    신디케이션 리소스
    필드 유형 읽기 전용 설명
    id 문자열 신디케이션이 생성 될 때 생성됨
    name 문자열 아니요 이 신디케이션의 내부 이름-POST 요청에 필요
    content_type_header 문자열 아니요 설정된 경우이 신디케이션의 피드에 대해 피드 서버에서 반환 한 Content-Type 헤더를 재정의합니다. 그렇지 않으면 피드는 기본적으로 신디케이션 유형별 헤더 값으로 설정됩니다.
    include_all_content 부울 아니요 true이면 모든 카탈로그 비디오가이 신디케이션에 포함됩니다.
    include_filter 문자열 아니요 include_all_content가 false 인 경우 지정해야합니다. 가치는CMS API검색 문자열 CMS API 비디오 검색 구문 v2 . 모든 구문 규칙이 적용됩니다. 유일한 차이점은 검색 문자열이include_filter가치보다는?query= param.
    type 문자열 아니요 생성 될 피드 유형입니다. 범용 유형을 사용하면 업로드 된 피드 템플릿에서 맞춤 피드를 생성 할 수 있습니다. 유효한 값 : advanced , google , iphone , ipad , mp4 , itunes , roku , source , universal . POST 요청에 필요
    title 문자열 아니요 이 피드의 제목입니다. 적용 가능한 피드 유형에 대한 < 채널 > 태그 내부에 포함됩니다.
    description 문자열 아니요 이 피드에 대한 설명입니다. 적용 가능한 피드 유형에 대한 < 채널 > 태그 내부에 포함됩니다.
    syndication_url 문자열 이 신디케이션의 MRSS 피드 URL
    destination_url 문자열 아니요 적용 가능한 피드 유형의 <channel> 태그 내에 포함될 URL
    keywords 문자열 아니요 쉼표로 구분 된 목록, iTunes 및 (잠재적으로) 범용 피드에만 사용됨
    author 문자열 아니요 단지 아이튠즈 및 (잠재적으로) 범용 피드에 사용
    owner_name 문자열 아니요 단지 아이튠즈 및 (잠재적으로) 범용 피드에 사용
    language 문자열 아니요 iTunes 및 (잠재적으로) 범용 피드에만 사용됩니다. 예를 들어 소문자로 된 두 글자 언어 코드"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_total , 및plays_trailing_week지정할 수 있습니다. 내림차순으로 정렬하려면 값 앞에 빼기 (-) 기호를 붙입니다. -created_at , 지정하면 피드가 최신순으로 정렬됩니다. updated_at기본적으로 날짜입니다.

    보다 CMS API 비디오 검색 구문 v2자세한 내용은include_filter특성.. 모든 검색 구문 규칙이 적용됩니다. 유일한 차이점은 검색 문자열이include_filter가치보다는?query= param.

    운영

    사용 가능한 작업에 대한 자세한 내용은 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 기본 플레이어 페이지 URL 접두사

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

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

    피드의 다음 페이지 URL

    • next_page

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

    • assets

    자산 속성

    자산 컬렉션의 리소스는 CMS Get Videos 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 Get Video Sources 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

    Liquid 확장

    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 파서는 날짜를 Unix epoch 타임 스탬프로 변환하기위한 날짜 필터에서 "% s"토큰을 지원하지 않습니다. 이를 해결하기 위해 유효한 날짜 사양을 epoch 형식으로 변환하는 데 사용할 수있는 toEpoch 사용자 지정 필터가 제공됩니다. 필터는 수학적 필터에 대한 입력에 적합한 에포크 이후 밀리 초를 나타내는 숫자 데이터 값을 반환합니다. 예:

      <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 필터는 epoch 이후 밀리 초를 나타내는 숫자를 UTC 날짜 문자열로 변환합니다. 필터는 또한 epoch 값 자릿수를 포함하는 문자열을 입력으로 받아들입니다. 필요한 경우 다시 형식화하기 위해 출력을 날짜 필터로 전달할 수 있습니다.

    예:

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

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

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