не могу перечислить мои собственные видео на Youtube

Я пытаюсь получить список видео, которые я разместил на 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."
 }
}

person rbp    schedule 24.06.2013    source источник


Ответы (2)


Это можно сделать, сделав 2 запроса к Youtube v3 API:

  1. Первый запрос, который вам нужно сделать для этого, - получить идентификатор вашего плейлиста загруженных видео:

    Это запрос GET на URL:

    "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 ["items"] [0] [contentDetails] [relatedPlaylists] [загрузки]

  2. Второй запрос - получить все видео, которые есть в вашем плейлисте для загрузок.

    Чтобы начать это с запроса GET на URL:

    "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}
    

    В ответе будет ваш список видео и связанная с ними информация.

    если (пока) в ответе есть response_body ["nextPageToken"], вам необходимо повторно отправить запрос с параметром "pageToken": {NEXT PAGE TOKEN}, чтобы получить остальные результаты, разбитые на страницы.

person Chad Befus    schedule 27.06.2013

При установке параметра forMine вы также должны установить для параметра type значение video, чтобы API знал, какие ресурсы возвращать.

person jlmcdonald    schedule 25.06.2013
comment
Также стоит отметить: похоже, вам действительно нужно создать свой собственный канал через https://www.youtube.com/create_channel, иначе вы получите ошибку 404 при использовании forMine = true & type = video - person Nick Baker; 06.01.2015