无法列出我自己的Youtube视频

时间:2013-06-24 12:22:04

标签: youtube-api youtube-data-api

我正在尝试获取我在YouTube上发布的视频列表

使用资源管理器时:

https://developers.google.com/youtube/v3/docs/search/list

它生成了以下查询

获取https://www.googleapis.com/youtube/v3/search?part=snippet&forMine=true&key= {YOUR_API_KEY}

以及以下(400)回复:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.search",
    "reason": "invalidSearchFilter",
    "message": "Invalid combination of search filters and/or restrictions.",
    "locationType": "parameter",
    "location": ""
   }
  ],
  "code": 400,
  "message": "Invalid combination of search filters and/or restrictions."
 }
}

2 个答案:

答案 0 :(得分:3)

可以对Youtube v3 API发出2个请求:

  1. 您需要做的第一个请求是获取您的ID 上传的视频播放列表:

    这是对网址的GET请求:

    "https://www.googleapis.com/youtube/v3/channels"
    
    带标题的

    "Content-type": "application/json",
    "Authorization": "Bearer %s" % {YOUR ACCESS TOKEN}
    

    和参数:

    "part": "contentDetails",
    "mine": "true",
    "key": {YOUR APPLICATION KEY}
    

    根据您要访问的回复:

    response_body [ “项目”] [0] [contentDetails] [relatedPlaylists] [上传]

  2. 第二个请求是获取您拥有的所有视频 您上传的播放列表。

    要以URL的GET请求开始:

    "https://www.googleapis.com/youtube/v3/playlistItems"
    

    发送标题:

    "Content-type": "application/json",
    "Authorization": "Bearer %s" % {YOUR AUTH TOKEN}
    

    和参数:

    "part": "snippet", {Add other "parts" here like stats if you want that info.}
    "maxResults": {MORE THAN 50? PAGINATION IS NEEDED / SEE BELOW},
    "playlistId": {FROM ABOVE},
    "key": {YOUR API KEY}
    

    回复将包含您的视频列表及其相关信息。

    如果(while)响应中包含response_body [“nextPageToken”],则需要使用参数“pageToken”重新发送请求:{NEXT PAGE TOKEN}以获取其余的分页结果。

    < / LI>

答案 1 :(得分:1)

设置forMine参数时,您还必须将type参数设置为视频,以便API知道要返回的资源类型。