サポート サポートへのお問い合わせ | システムステータス システムステータス
ページコンテンツ

    概要: ソーシャルシンジケーション API

    ソーシャルシンジケーション API は、パブリックにアクセスできる API で、VideoCloud 動画カタログからシンジケーションを作成、管理、および動的フィード(MRSS フィードなど)を生成するために使用できます。

    このドキュメントでは

    関連資料

    はじめに

    Brightcove Syndication Configuration APIは、Video Cloudアカウントのビデオカタログから動的フィード(MRSSフィードなど)を生成するためにシンジケートを作成、管理、および使用できるようにする、公的にアクセス可能なAPIです。

    関連するものもありますシンジケーションフィード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を使用して文字列を検索CMSAPIビデオ検索構文v2。すべての構文規則が適用されます-唯一の違いは、検索文字列がとして入力されることですinclude_filterではなく値?query= param。
    type 文字列 いいえ 生成されるフィードのタイプ。ユニバーサルタイプを使用すると、アップロードされたフィードテンプレートによってカスタムフィードを生成できます。有効な値:advancedgoogleiphoneipadmp4itunesrokusourceuniversal。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でサポートされる値namereference_idcreated_atpublished_atupdated_atschedule.starts_atschedule.ends_atstateplays_total、およびplays_trailing_week指定できます。降順で並べ替えるには、値の前にマイナス(-)記号を付けます。-created_at、指定すると、フィードは最新のもので並べ替えられますupdated_atデフォルトでは日付。

    見るCMSAPIビデオ検索構文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リクエストのリクエスト本文はないフィールドを含める(typeidそして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フィールド、または手動で構築されます。注意してくださいシンジケーションフィードAPI認証なしでフィードを取得するためにも使用できます。

    方法: GET

    エンドポイント: /accounts/{account_id}/mrss/syndications/{syndication_id}/feed

    ユニバーサルテンプレート言語

    ユニバーサルシンジケートを使用すると、カタログデータをカスタムテンプレートとマージして、必要なあらゆる種類のフィードを生成できます。サポートされているテンプレート言語は液体。デフォルトのシンジケーションタイプのフィードは、同じタイプのテンプレートを使用して生成されます。サンプルとして提供されるテンプレート必要に応じてカスタムテンプレートを作成するのに役立ちます。

    以下のセクションでは、使用できるシンジケーション、アセット、ソース、デジタルマスターのプロパティと、便宜上追加されたLiquidの拡張機能について説明します。

    説明付きのすべてのVideoCloudビデオメタデータフィールドを表示するには、 CMSAPIビデオフィールドリファレンス

    トップレベルのプロパティ

    シンジケーションフィールドから派生

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