サポート サポート問い合わせ先 | システムステータス システムステータス

概要: Social Syndication API

挽き目 Social Syndication API VideoCloudビデオカタログから動的フィード(MRSSフィードなど)を生成するためにシンジケーションを作成、管理、および使用できるようにするパブリックにアクセス可能なAPIです。

このドキュメントでは

関連文書

概要

Brightcoveシンジケーション構成APIは、シンジケーションを作成、管理、および使用してダイナミックフィード(MRSSフィードなど)を生成できるようにするパブリックにアクセス可能なAPIです。 Video Cloud アカウントのビデオカタログ。

関連もあります シンジケーションフィードAPI シンジケーションに関連付けられたフィードを取得するために使用できます。

公開設定

シンジケーションAPIはすべての人が利用できます Video Cloud プラットフォームAPIにアクセスできるお客様。

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認証セクション:

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 文字列 Yes シンジケーションの作成時に生成されます
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 文字列 Yes このシンジケーションのMRSSフィードのURL
destination_url 文字列 いいえ 該当するフィードタイプの<channel>タグ内に含まれるURL
keywords 文字列 いいえ カンマ区切りのリスト。iTunesと(潜在的に)ユニバーサルフィードにのみ使用されます
author 文字列 いいえ iTunesと(場合によっては)ユニバーサルフィードにのみ使用されます
owner_name 文字列 いいえ iTunesと(場合によっては)ユニバーサルフィードにのみ使用されます
language 文字列 いいえ iTunesと(場合によっては)ユニバーサルフィードでのみ使用されます-小文字のXNUMX文字の言語コード。 "en"
owner_email 文字列 いいえ iTunesと(場合によっては)ユニバーサルフィードにのみ使用されます
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= パラメータ。

使用方式

使用可能な操作の詳細については、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リクエストのリクエスト本文は、 Studio上ではサポートされていません。 フィールドを含める(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はシンジケーションの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 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」です。)

ソースプロパティ

アセットのsourcesコレクション内のリソースは、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フィルター

Liquidパーサーを拡張して、ほとんどの標準ISO-8601日時文字列形式を解析し、それらを標準UTC日時文字列に変換するtoUTCフィルターをサポートしました。 この形式は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エポックタイムスタンプに変換するための日付フィルターの「%s」トークンをサポートしていません。 これに対処するために、有効な日付指定をエポック形式に変換するために使用できる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フィルターは、エポックからのミリ秒を表す数値を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日