このドキュメントでは
関連資料
- シンジケーションの検索構文
- ユニバーサルシンジケーションのサンプルテンプレート
- Syndication Configuration API リファレンス
- Syndication Feed API リファレンス
入門
Brightcove Syndication Configuration APIは、Video Cloudアカウントのビデオカタログから動的フィード(MRSSフィードなど)を生成するためにシンジケートを作成、管理、および使用できるようにする、公的にアクセス可能なAPIです。
関連するものもありますSyndication Feed APIシンジケーションに関連付けられたフィードを取得するために使用できます。
空室状況
シンジケーションAPIは、プラットフォームAPIにアクセスできるすべてのVideoCloudのお客様が利用できます。
APIリファレンス/ベースURL /ヘッダー
ザ・構成APIリファレンス使用可能な操作、フィールド、およびパラメーターに関するすべての詳細が含まれています。
ベース URL は次のとおりです。
https://social.api.brightcove.com/v1
すべてのリクエストは、Authorizationヘッダーを介して認証される必要があります。
Authorization: Bearer {your_access_token}
アクセストークンについては、認証に関する次のセクションを参照してください。
リクエスト本文を送信するリクエストについては、Content-Type: application/json
ヘッダ。
認証
構成APIにアクセスするには、bearer
からのトークンBrightcoveOAuthサービスリクエストのAuthorization
ヘッダ。さまざまなAPIメソッドでは、問題の資格情報に対して次の操作のいずれか(アクセスするメソッドに応じて)を指定する必要もあります。
video-cloud/social/mrss/read
video-cloud/social/mrss/write
これらの操作は、 Studio管理モジュールのAPI認証セクション:
必要に応じて、OAuthAPIを介して認証情報を作成することもできます。
シンジケーションリソース
シンジケーションリソースは、シンジケーションの作成方法を定義するオブジェクトです。シンジケーションリソースを作成するためのサンプルリクエストボディは次のとおりです。
{
"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 |
文字列 | いいえ | iTunesと(潜在的に)ユニバーサルフィードにのみ使用されます |
owner_name |
文字列 | いいえ | iTunesと(潜在的に)ユニバーサルフィードにのみ使用されます |
language |
文字列 | いいえ | iTunesと(潜在的に)ユニバーサルフィードにのみ使用されます-小文字の2文字の言語コード(例:"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=
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"
}
注意してくださいname
そしてtype
フィールドは必須です。その他はオプションです。
シンジケーションを更新する
方法: PATCH
エンドポイント: /accounts/{account_id}/mrss/syndications/{syndication_id}
リクエスト本文の例:
{
"name": "my new name"
}
PATCHリクエストのリクエスト本文はないフィールドを含める(type
、id
そしてsyndication_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
フィールド、または手動で構築されます。注意してくださいSyndication Feed API認証なしでフィードを取得するためにも使用できます。
方法: GET
エンドポイント: /accounts/{account_id}/mrss/syndications/{syndication_id}/feed
ユニバーサルテンプレート言語
ユニバーサルシンジケートを使用すると、カタログデータをカスタムテンプレートとマージして、必要なあらゆる種類のフィードを生成できます。サポートされているテンプレート言語は液体。デフォルトのシンジケーションタイプのフィードは、同じタイプのテンプレートを使用して生成されます。サンプルとして提供されるテンプレート必要に応じてカスタムテンプレートを作成するのに役立ちます。
以下のセクションでは、使用できるシンジケーション、アセット、ソース、デジタルマスターのプロパティと、便宜上追加されたLiquidの拡張機能について説明します。
説明付きのすべてのVideoCloudビデオメタデータフィールドを表示するには、 CMS APIビデオフィールドリファレンス。
トップレベルのプロパティ
シンジケーションフィールドから派生
album_art_url
author
category
description
destination_url
explicit
keywords
name
owner_name
owner_email
subtitle
syndication_id
syndication_url
title
ビデオクラウドアカウント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 SourcesAPIメソッドによって返されるビデオソースリソースから取得されます。次のプロパティがサポートされています。
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 InfoAPIメソッドによって返されるデジタルマスターリソースから派生します。次のプロパティがサポートされています。
duration
encoding_rate
height
size
url
width
動的レンディションプロパティ
ザ・dynamic_renditions
アセットのリソースは、CMS Get Digital Master InfoAPIメソッドによって返される動的レンディションから取得されます。次のプロパティがサポートされています。
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>