响应中缺少YouTube API V3 recordingDetails对象

时间:2013-01-28 00:07:42

标签: youtube-api

我今天从curl尝试过这个YouTube API v3电话:

http://www.googleapis.com/youtube/v3/videos?id=ZCJgvabihQ8&key=apiKey&part=snippet,recordingDetails

其他一切都很好,但我没有在响应json中找到recordingDetails对象:

{
"kind":"youtube#videoListResponse",
"etag":"\"oLweQuB9Vh7wAB9a0AIHg_K-wsM/EuRsJ-sxI3qstP1T58S5Qnb_NIg\"",
"items":[
{
    "id":"ZCJgvabihQ8",
    "kind":"youtube#video",
    "etag":"\"oLweQuB9Vh7wAB9a0AIHg_K-wsM/CYNTRL05S4okPzkUfE5LbrRKt9g\"",
    "snippet":{
    "publishedAt":"2013-01-25T13:36:19.000Z",
    "channelId":"UCpVm7bg6pXKo1Pr6k5kxG9A",
    "title":"Weird Nature: Pink Dolphins?",
    "description":"Up to 9 feet long and weighing up to 300 pounds, pink river dolphins           are the largest freshwater dolphins in the world.",
    "thumbnails":{
        "default":{
           "url":"https://i.ytimg.com/vi/ZCJgvabihQ8/default.jpg"
        },
        "medium":{
           "url":"https://i.ytimg.com/vi/ZCJgvabihQ8/mqdefault.jpg"
        },
        "high":{
           "url":"https://i.ytimg.com/vi/ZCJgvabihQ8/hqdefault.jpg"
        }
    },
    "categoryId":"24"
    }
}
]
}

我错过了什么吗?非常感谢。

3 个答案:

答案 0 :(得分:3)

recordingDetails对于所有视频都不公开,因此如果视频没有这些属性,则不会返回任何内容。通过不返回任何内容,YouTube可以节省带宽,并且响应时间可以更快。


原始回应:

  

这看起来像是一个合法的错误......

     

recordingDetails作为视频资源上的选项列出   概述页面,但未在视频列表方法中列为有效部分   在这里:https://developers.google.com/youtube/v3/docs/videos/list

     

通常当您尝试使用无效部分时,您会收到“400 Bad   请求“错误,但recordingDetails仍然返回200响应,所以   它看起来真的应该被退回......

     

您应该在此处提交错误报告:   https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report)

答案 1 :(得分:0)

只有明确设置了地理定位或录制时间的视频才会返回

recordingDetails。 (并非所有视频都设置录制时间;它是发布时间的一个独特元数据。)

答案 2 :(得分:0)

您可以list拨打电话,根据locationlocationRadius检索视频列表。

然后,使用返回的列表,您可以进行videos调用,包括查询的id参数中的所有视频ID。然后,您可以将recordingDetails指定为“部分”,它将起作用。

Youtube就是这样做的:

https://github.com/youtube/geo-search-tool