Как я могу получить имя пользователя канала, если у него есть только отображаемое имя? - PullRequest
0 голосов
/ 05 марта 2019

Я использую Youtube v3.0 Data API, REST API, хотя я использую Node.js.

У меня есть только отображаемое имя канала YouTube (например, Traversy Media или Android Developers), и мне нужно получить идентификатор канала только по их имени.

Сейчас я использую их отображаемое имя и просто надеюсь, что это также их имя пользователя.Я получаю их удостоверение от этого.Но большинство отображаемых имен каналов не совпадают с именами пользователей.

https://www.googleapis.com/youtube/v3/channels?key=${config.key}&forUsername=${name}&part=id

Именно так я сейчас получаю идентификатор, но, как я уже сказал, имя пользователя не всегда отображаемое имя.

Итак, как мне получить идентификатор из отображаемого имени?

1 Ответ

0 голосов
/ 06 марта 2019

Чтобы сделать это, вы должны использовать поисковую часть API, как, например, этот вызов https://www.googleapis.com/youtube/v3/search?key={KEY}&part=snippet&type=channel&maxResults=1&q=traversy+media

Очевидно, вы бы заменили KEY на свой ключ API, сгенерированный из облачной консоли Google.

Вызов, указанный выше, возвращает

{
 "kind": "youtube#searchListResponse",
 "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/TA3dq6AD2oajHPE0-0Y9hZzSmi8\"",
 "nextPageToken": "CAEQAA",
 "regionCode": "US",
 "pageInfo": {
  "totalResults": 34,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#searchResult",
   "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/SJmA2ZkjStP6_YHYQcEsg9JrWz4\"",
   "id": {
    "kind": "youtube#channel",
    "channelId": "UC29ju8bIPH5as8OGnQzwJyA"
   },
   "snippet": {
    "publishedAt": "2009-10-30T21:33:14.000Z",
    "channelId": "UC29ju8bIPH5as8OGnQzwJyA",
    "title": "Traversy Media",
    "description": "Traversy Media features the best online web development and programming tutorials for all of the latest web technologies including Node.js, Angular 2, React.js, ...",
    "thumbnails": {
     "default": {
      "url": "https://yt3.ggpht.com/-OsgBxXITFdg/AAAAAAAAAAI/AAAAAAAAAAA/gDaUV_aSb2Q/s88-c-k-no-mo-rj-c0xffffff/photo.jpg"
     },
     "medium": {
      "url": "https://yt3.ggpht.com/-OsgBxXITFdg/AAAAAAAAAAI/AAAAAAAAAAA/gDaUV_aSb2Q/s240-c-k-no-mo-rj-c0xffffff/photo.jpg"
     },
     "high": {
      "url": "https://yt3.ggpht.com/-OsgBxXITFdg/AAAAAAAAAAI/AAAAAAAAAAA/gDaUV_aSb2Q/s800-c-k-no-mo-rj-c0xffffff/photo.jpg"
     }
    },
    "channelTitle": "Traversy Media",
    "liveBroadcastContent": "upcoming"
   }
  }
 ]
}
(игнорируйте фрагмент кода, просто используйте его для отображения ответа)
...