フィードの作成または更新時にエンティティを検証するには、次の JSON スキーマを使用します。スキーマは JSON スキーマ仕様に基づいています。生成したエンティティを検証する単体テストを追加することで、フィードの品質に影響する問題を検出できます。フィード開発時にこれらのスキーマを使用して、一般的なエラーを回避することもできます。
Media Actions スキーマを選択する
- ビデオ オンデマンド スキーマは、
Movie
、TVEpisode
、TVSeries
、TVSeason
エンティティを検証します。 - ライブテレビ スキーマは、
BroadcastEvent
、BroadcastService
、CableOrSatelliteService
、Movie
、Organization
、SportsEvent
、TelevisionChannel
、TVEpisode
、TVSeason
、TVSeries
エンティティを検証します。 - 音楽スキーマは、
MusicAlbum
、MusicGroup
、MusicPlaylist
、MusicRecording
エンティティを検証します。 - ラジオ スキーマは、
RadioBroadcastService
エンティティを検証します。
これらのスキーマにはすべての機能が実装されていない可能性があるため、このサイトの仕様を信頼できる情報源として使用してください。
バリデータを選択する
検証ツールの実装のリストは json-schema.org で確認できます。
提供されているスキーマは ドラフト 7 で記述されているため、選択した実装がこのバージョンをサポートしている必要があります。
検証の例
次の例は、スキーマ ファイル schema.json
と jsonschema Python モジュールを使用して、ファイル feed.json
に存在するすべてのエンティティを検証する方法を示しています。エンティティは、データフィード エンベロープのドキュメントで指定されているプロパティ dataFeedElement
にあります。
import json
from jsonschema import validate
# Loading the schema file
with open("schema.json", "r") as fp:
schema = json.load(fp)
# Opening the feed
with open("feed.json", "r") as fp:
feed = json.load(fp)
# Validating each entity in the feed
for entity in feed["dataFeedElement"] :
try:
validate(schema=schema, instance=entity)
print("Entity validated successfully")
except Exception as e:
# e may contain an explanation as to why the entity wasn't valid
print("Failed to validate the entity")