Hello, I have a json feed into my roku direct publisher channel, but when I checked the feed status it says "410 items have error: Required movie content is missing."
I tried every field the documentation offered, it didn't cause it to error more, but didn't help the problem, so I don't know what to do.
Please help me figure out what it is asking for.
thanks
here is the json file:
{ "providerName": "EliYah.com", "lastUpdated": "2022-12-3T10:38:28+00:00", "language": "en", "movies": [{ "id": "b027b874-1002-4e6b-a37b-16a720146fd6", "title": "Commands Of The Messiah - Part 32", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/20220326-study.mp4", "quality": "HD", "videoType": "MP4", "bitrate": "1900" }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] }, { "id": "1baca56b-dbae-4950-9d76-418f11f7081d", "title": "Commands of The Messiah - Part 31", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/20220319-study.mp4", "quality": "HD", "videoType": "MP4", "bitrate": "1900" }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] }, { "id": "4771b0e7-2dae-45b8-9036-eb4f18af1b68", "title": "How to observe Passover", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/20220312-study.mp4", "quality": "HD", "videoType": "MP4", "bitrate": "1900" }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] }, { "id": "bb6beea1-2685-4f6b-a091-b93a4d85e8c6", "title": "Footsteps of the Savior - Part 36", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/discipleship-36-study.mp4", "quality": "HD", "videoType": "MP4", "bitrate": "1900" }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] }, { "id": "e52a8ac2-ba53-46f8-84d6-a95db1ac719c", "title": "Passover 2022 Its meaning and Relevance", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/20220305-study.mp4", "quality": "HD", "videoType": "MP4", "bitrate": "1900" }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] }, { "id": "44600d13-f7fe-48f3-8fb4-4c093cd2cdb6", "title": "New Moon Broadcast - 13th Month", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/new-moon-13th-month-2022", "quality": "HD", "videoType": "MP4", "bitrate": "1900" }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] } ]}
ok thanks
The problem is, the feed specifications page does not have a duration for movie content type: https://developer.roku.com/docs/specs/direct-publisher-feed-specs/json-dp-spec.md#movie
is the duration in seconds or minutes. Will it matter if I just put the video duration longer than the video? What will happen?
You've got several syntactical errors in your feed file:
2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path 'movies[0].content', line 9, position 24. 2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path 'movies[1].content', line 47, position 24. 2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path 'movies[2].content', line 85, position 24. 2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path 'movies[3].content', line 123, position 24. 2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path 'movies[4].content', line 161, position 24. 2022-03-31 11:44:03.7466 ERROR Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Common.ContentObject' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path 'movies[5].content', line 199, position 24. 2022-03-31 11:44:03.7466 ERROR 'lastUpdated' field is incorrectly formatted. Assigning today's date. 2022-03-31 11:44:03.7466 ERROR 'b027b874-1002-4e6b-a37b-16a720146fd6' contains an incorrectly formatted 'ReleaseDate'. Setting date to '2022-03-26'. 2022-03-31 11:44:03.7466 ERROR 'b027b874-1002-4e6b-a37b-16a720146fd6' contains an incorrectly formatted 'dateAdded'. Setting date to today's date. 2022-03-31 11:44:03.7466 ERROR 'b027b874-1002-4e6b-a37b-16a720146fd6' is missing one or more video objects. 2022-03-31 11:44:03.7466 ERROR '1baca56b-dbae-4950-9d76-418f11f7081d' contains an incorrectly formatted 'ReleaseDate'. Setting date to '2022-03-26'. 2022-03-31 11:44:03.7466 ERROR '1baca56b-dbae-4950-9d76-418f11f7081d' contains an incorrectly formatted 'dateAdded'. Setting date to today's date. 2022-03-31 11:44:03.7466 ERROR '1baca56b-dbae-4950-9d76-418f11f7081d' is missing one or more video objects. 2022-03-31 11:44:03.7536 ERROR '4771b0e7-2dae-45b8-9036-eb4f18af1b68' contains an incorrectly formatted 'ReleaseDate'. Setting date to '2022-03-26'. 2022-03-31 11:44:03.7536 ERROR '4771b0e7-2dae-45b8-9036-eb4f18af1b68' contains an incorrectly formatted 'dateAdded'. Setting date to today's date. 2022-03-31 11:44:03.7536 ERROR '4771b0e7-2dae-45b8-9036-eb4f18af1b68' is missing one or more video objects. 2022-03-31 11:44:03.7536 ERROR 'bb6beea1-2685-4f6b-a091-b93a4d85e8c6' contains an incorrectly formatted 'ReleaseDate'. Setting date to '2022-03-26'. 2022-03-31 11:44:03.7536 ERROR 'bb6beea1-2685-4f6b-a091-b93a4d85e8c6' contains an incorrectly formatted 'dateAdded'. Setting date to today's date. 2022-03-31 11:44:03.7536 ERROR 'bb6beea1-2685-4f6b-a091-b93a4d85e8c6' is missing one or more video objects. 2022-03-31 11:44:03.7536 ERROR 'e52a8ac2-ba53-46f8-84d6-a95db1ac719c' contains an incorrectly formatted 'ReleaseDate'. Setting date to '2022-03-26'. 2022-03-31 11:44:03.7536 ERROR 'e52a8ac2-ba53-46f8-84d6-a95db1ac719c' contains an incorrectly formatted 'dateAdded'. Setting date to today's date. 2022-03-31 11:44:03.7536 ERROR 'e52a8ac2-ba53-46f8-84d6-a95db1ac719c' is missing one or more video objects. 2022-03-31 11:44:03.7536 ERROR '44600d13-f7fe-48f3-8fb4-4c093cd2cdb6' contains an incorrectly formatted 'ReleaseDate'. Setting date to '2022-03-26'. 2022-03-31 11:44:03.7536 ERROR '44600d13-f7fe-48f3-8fb4-4c093cd2cdb6' contains an incorrectly formatted 'dateAdded'. Setting date to today's date. 2022-03-31 11:44:03.7536 ERROR '44600d13-f7fe-48f3-8fb4-4c093cd2cdb6' is missing one or more video objects.
In particular, you've defined the Content object as an array rather than an object.
The 'duration' field is a value in the Content object and is the total number of runtime seconds for the video.
ok, so if I add the duration of the videos it should work?
I have taken off all but one video and added the duration, but it still returns the same error.
{ "providerName": "EliYah.com", "lastUpdated": "2022-12-3T10:38:28+00:00", "language": "en", "movies": [{ "id": "b027b874-1002-4e6b-a37b-16a720146fd6", "title": "Commands Of The Messiah - Part 32", "content":[{ "dateAdded": "2022-03-26T18:04:42", "videos": [{ "url": "https://eliyah.com/video/broadcast/20220326-study.mp4", "quality": "HD", "videoType": "MP4", "bitrate": "1900", "duration": 10800 }] }], "genres": [ "educational" ], "rating": { "rating": "UNRATED", "ratingSource": "USA_PR" }, "tags": ["Eliyah.com"], "thumbnail": "https://eliyah.com/wp-content/uploads/2022/03/channel-poster_fhd.png", "releaseDate": "2022-03-26T18:04:42", "shortDescription": "Sorry, this Archive currently has no Description", "longDescription": "Sorry, this Archive currently has no Description", "categories": [{"name": "Latest","order": "most_recent","query": "live OR Eliyah.com"}] } ]}
interesting, let me try a different link