我正在做一个从Vimeo获取视频ID的脚本,调用API并使用我们需要的所有数据填充数据库 .
我能够获得所有字段,并且使用该网址一切正常:https://api.vimeo.com/videos/
我也可以使用查询?fields = name等...只获取我需要的字段 .
但是,当我向API发出请求时(即使我使用字段查询),categories数组为空,并返回信用,如下所示:
"credits": {
"uri": "/videos/{video_id}/credits",
"options": [
"GET",
"POST"
],
"total": 1
}
如果我再向另一个网址发出请求:
https://api.vimeo.com/videos/ / credits
https://api.vimeo.com/videos/ / categories
我得到了所有关于学分和类别的信息 .
问题是:我不想向API提出3个请求以获得我需要的一切 . 为什么学分和类别未包含在原始视频请求中?我有办法一次通话吗?
1 回答
关于类别,视频所有者或Vimeo策展人可能无法对视频进行分类 . 如果视频尚未分类,则categories数组将返回空 .
例如,此测试视频不返回任何类别:
此工作人员选择视频会返回多个类别和子类别:
关于信用,视频总是至少有一个信用(视频所有者) . 我建议添加一些逻辑,以便如果metadata.connections.credits.total大于1,则发出额外的请求以获取其他信用的用户 .
例如,相同的员工选择视频会返回metadata.connections.credits.total = 2,因此要获得额外的信用用户,您需要向视频的信用 endpoints 发出请求 .
信用的单独 endpoints 的原因是每个用户对象可以包含大量元数据 - 如果视频信用许多用户,如果不使用fields参数,则视频响应(已经非常大)可能更大 .
我希望这个信息帮助!