フィードの作成または更新時にエンティティを検証するには、次の 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")