在YouTube v3 API搜索请求中访问viewCount所需的请求过多

时间:2013-02-11 14:07:45

标签: ios mobile youtube youtube-api

我目前正在测试YouTube v3 API ...我的移动应用中有一个搜索结果视图,显示需要以下字段的视频结果:

标题,作者,观点,描述,缩略图

在v2中请求:

https://gdata.youtube.com/feeds/api/videos?q=bugatti&orderby=published&max-results=10&v=2&alt=jsonc

返回视频条目的以下响应:

{
    "id": "rdprvN3g3EU",
    "uploaded": "2013-02-11T12:49:05.000Z",
    "updated": "2013-02-11T12:49:05.000Z",
    "uploader": "thelongsixteen",
    "category": "Games",
    "title": "GTA IV Mods: Most Wanted #29 (German) (HD) - Ford Fiesta HFHV von Ken Block",
    "description": "Wenn euch das Video gefallen hat dann hinterlasst bitte ein ganz brutalen Like. :D Es hilft mir und dem Projekt sehr weiter zu machen. ^_^ » Grand Theft Auto IV Most Wanted Playlist: www.youtube.com » Mehr Videos findet ihr hier: www.youtube.com » Left 4 Liberty Infection v5.1 (Halloween Special): www.youtube.com Eine kleine Info über dieses Projekt: In diesem Projekt nehme ich ein bestimmtes Fahrzeug wie zB den Hummer H2 und versuche vom Flughafen aus zum Alderny Staatsgefängnis zu kommen und der schwierigste Part daran ist: 6 Star Wanted! :O Ich fahre jedesmal eine bestimmte Route um das Ziel zu erreichen und werde sehen wie es die Polizei genießen wird mich gegen alles zu drücken was nicht auf 3 auf dem Baum ist. Ich wünsche euch viel Spaß mit dem Video und wie immer Sweet Lovin! :D Die Mods: Grand Theft Auto Ultimate Vehicle Pack V9 (TBOGT/EPM Support) www.gta4-mods.com Das Video von dem Car Pack www.youtube.com ChinaGreenElvis ENB 4 for GTA IV and EFLC www.gta4-mods.com Color Radio HUD www.gta4-mods.com Bigger and Realistic Explosion Mod V.2 www.gta4-mods.com [PUSH] M16 A2 www.gta4-mods.com 2003 Volkswagen Bora V6 www.gta4-mods.com 2013 Ferrari 458 Spider www.gta4-mods.com 2013 SRT Viper GTS www.gta4-mods.com 2012 Porsche Cayenne Turbo *update* www.gta4-mods.com 2010 Bentley Continental SuperSports [EPM] www.gta4-mods.com 2012 Chevrolet Camaro ZL1 www.gta4-mods.com Lincoln Town Car Limousine 2006 (beta) www.gta4-mods.com 1959 Chevrolet Biscayne www.gta4-mods.com GMC <b>...</b>",
    "thumbnail": {
        "sqDefault": "http://i.ytimg.com/vi/rdprvN3g3EU/default.jpg",
        "hqDefault": "http://i.ytimg.com/vi/rdprvN3g3EU/hqdefault.jpg"
    },
    "player": {
        "default": "https://www.youtube.com/watch?v=rdprvN3g3EU&feature=youtube_gdata_player",
        "mobile": "https://m.youtube.com/details?v=rdprvN3g3EU"
    },
    "content": {
        "1": "rtsp://v6.cache8.c.youtube.com/CiILENy73wIaGQlF3ODdvGvarRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
        "5": "https://www.youtube.com/v/rdprvN3g3EU?version=3&f=videos&app=youtube_gdata",
        "6": "rtsp://v6.cache8.c.youtube.com/CiILENy73wIaGQlF3ODdvGvarRMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"
    },
    "duration": 615,
    "aspectRatio": "widescreen",
    "rating": 5,
    "likeCount": "8",
    "ratingCount": 8,
    "viewCount": 35,
    "favoriteCount": 0,
    "commentCount": 4,
    "accessControl": {
        "comment": "allowed",
        "commentVote": "allowed",
        "videoRespond": "moderated",
        "rate": "allowed",
        "embed": "allowed",
        "list": "allowed",
        "autoPlay": "allowed",
        "syndicate": "allowed"
    }
}

我得到了我需要的一切......使用v3看起来我必须提出以下要求

https://www.googleapis.com/youtube/v3/search?part=id&key={YOUR_API_KEY}

这给了我一个名字和描述以及channelId

https://www.googleapis.com/youtube/v3/videos?id=rdprvN3g3EU&part=snippet%2C+contentDetails%2C+statistics&key={YOUR_API_KEY}

然后这个人给了我查看次数

https://www.googleapis.com/youtube/v3/channels?part=snippet&id=rdprvN3g3EU&key={YOUR_API_KEY}

这是获得作者姓名的最终请求......

在v2中,我只需要发出一个请求来获取我需要的所有内容,并且您希望我要求的字段肯定会出现在标准搜索请求中吗?我也看不到对v3中的批处理请求的任何支持。我错过了什么吗?甚至不要让我开始考虑速率限制的影响:(

使用v3执行简单搜索我为第一个请求使用3个配额单元,第二个请求使用7个配额单元,为最后一个请求使用另外3个。

每个用户执行单个视频搜索的13个配额单元,显示我认为相对标准的信息。

1 个答案:

答案 0 :(得分:3)

您可以通过逗号分隔id =参数中的视频ID来进行批量请求,如下所示:

https://www.googleapis.com/youtube/v3/videos?id=9OBm7aYa6Ic%2C+PTlL2N5Iwh8&part=id%2Csnippet%2Cstatistics&key={YOUR_API_KEY}

我不完全确定您的应用程序是如何工作的,但您可以存储频道的名称,以便对给定的channelId的调用只需要进行一次。

如果您想要缩小请求,看起来您没有使用视频通话中的contentDetails部分。