Что касается категорий, видео может не классифицироваться ни владельцем видео, ни куратором Vimeo.Если видео не классифицировано, массив категорий вернется пустым.
Например, это тестовое видео не возвращает категорий:
curl -X GET
'https://api.vimeo.com/videos/76979871?fields=uri,categories'
-H 'Accept: application/vnd.vimeo.*+json;version=3.4'
-H 'Authorization: bearer [token]'
В то время как это видео, выбранное персоналом, возвращает несколько категорий и подкатегорий:
curl -X GET
'https://api.vimeo.com/videos/274849065?fields=uri,categories.uri,categories.uri,categories.name,categories.top_level'
-H 'Accept: application/vnd.vimeo.*+json;version=3.4'
-H 'Authorization: bearer [token]'
Относительно кредитов, видеовсегда будет иметь как минимум один кредит (владелец видео).Я предлагаю добавить некоторую логику, чтобы, если metadata.connections.credits.total было больше 1, сделать дополнительный запрос, чтобы получить этих других зачисленных пользователей.
Например, это же самое видео, выбранное персоналом, возвращает metadata.connections.credits.total = 2, поэтому для получения дополнительного зачисленного пользователя вам нужно будет сделать запрос к конечной точке кредитов видео.
curl -X GET
'https://api.vimeo.com/videos/274849065?fields=uri,metadata.connections.credits'
-H 'Accept: application/vnd.vimeo.*+json;version=3.4'
-H 'Authorization: bearer [token]'
Причина отдельной конечной точки для кредитов заключается в том, что каждый пользовательобъект может содержать много метаданных - если видео относится ко многим пользователям, видеоответ (который уже довольно большой) может быть еще больше, если не используется параметр fields.
Надеюсь, эта информация поможет!