YoutubeDataAPI 두드리는 방법

12374 단어 YoutubeDataAPIv3
이 글은 MDCAdvent Calendar 2020 12일째 기사다.
개시하다
당돌하지만 학창시절부터 좋아했다VTuber.
2∼3년 동안 쫓아다니기 시작했지만 지금은 개인 세력부터 기업까지 세력 범위가 넓고 1만명 이상이어서 여기저기 쫓아다니기 힘들다.
딱 맞는 제목이라 어차피 출력할 게 있으면 직접 쓰는 게 좋겠다는 생각에 구글 캘린더 링크에 게시 일정을 볼 수 있는 웹 애플리케이션을 만들었다.
이런 느낌이에요.

구성은 대체로 이런 느낌.

이번에는 일차적으로 새로운 발표 정보를 얻고, 이번에는 유튜브 데이터 APIv3에서 발표 정보를 얻는다.
(웹 응용 프로그램은 이번에 나오지 않았다.)
릴리즈 API 키
API 키는 참조이 보도로 제작할 수 있습니다.
특별히 미혹된 곳도 없다.
배포 정보 얻기
이 API.
↓ 이렇게 채널 ID를 눌러 애니메이션 정보를 얻는다.API 키는 방금 획득한 것으로 채널 ID가 검색할 채널로 날아갈 때 URL의 끝https://www.youtube.com/channel/XXXXXXXXXXXXXXXXX이다.
(채널 ID는 웹에서 매월 비워 수집합니다.)
https://www.googleapis.com/youtube/v3/search?key=[APIキー]&maxResults=50&order=date&eventType=upcoming&part=snippet&channelId=[チャンネルID
]&type=video
기타 설정된 매개 변수는 다음과 같다.
param
값 설정
설명
part
snippet
필수 매개변수입니다.자원 반환 속성 그룹의 식별자를 쉼표로 구분합니다.API에 따라 매개변수가 지정할 수 있는 설정값도 다르지만 애니메이션 정보를 가져올 때는 snippet입니다.
maxResults
50
획득 수량(0~50).50개 이상의 예정 배신자는 없지만, 최대치로 설정됐다.
order
date
정렬 순서.날짜라면 예정대로 작성합니다.(※ 발송일 순서가 아님)
eventType
upcoming
게시되지 않은 정보만 얻습니다.과거의 편지를 얻으려면complted를 설정하십시오.
우두머리 키자나 AI를 대상으로 한 결과다.
api-response
{
  "kind": "youtube#searchListResponse",
  "etag": "MYp0wZDNVJAIdaE3ITKPnex7B0Y",
  "regionCode": "JP",
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 50
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "JArsc3kOYjrezOyqVADhFVi8VO0",
      "id": {
        "kind": "youtube#video",
        "videoId": "et_0xOzrKaE"
      },
      "snippet": {
        "publishedAt": "2020-11-30T15:38:04Z",
        "channelId": "UC4YaOt1yT-ZeyB0OmxHgolA",
        "title": "Kizuna AI 2nd Live “hello, world 2020”",
        "description": "12月29日(火)20時~スタート!   https://2020hello.world/ 【INFORMATION】 Title:Kizuna AI 2nd LIVE \"hello, world 2020\" Date:2020 / 12 / 29 (TUE) 20:00 JST ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/et_0xOzrKaE/default_live.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/et_0xOzrKaE/mqdefault_live.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/et_0xOzrKaE/hqdefault_live.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "A.I.Channel",
        "liveBroadcastContent": "upcoming",
        "publishTime": "2020-11-30T15:38:04Z"
      }
    }
  ]
}
배포 세부 정보 보기
달력을 만들 때 날짜를 보내는 것은 필수적인 정보지만 이 같은 방법으로 얻을 수 있는 정보는'발송 예정일 시간을 만들었다'(=이른바 날짜와 시간을 얻었다).따라서 이번여기 API.에는 영상 ID를 키로 하여 편지 배달에 대한 상세한 정보를 얻었다.
https://www.googleapis.com/youtube/v3/videos?part=liveStreamingDetails&key=[APIキー]&id=[動画ID]
설정한 매개변수는 다음과 같습니다.
param
값 설정
설명
part
liveStreamingDetails
필수 매개변수입니다.자원 반환 속성 그룹의 식별자를 쉼표로 구분합니다.API에 따라 매개 변수에 지정할 수 있는 설정값도 다르지만 메시지 세부 정보를 얻으려면 liveStreamingDetails를 사용합니다.
답장은 아래와 같다.
이번에는 편지 배달을 시작하는 시간인'scheduled Start Time'을 얻을 수 있다.
이렇게 되면 달력으로 표현된 정보가 모두 수집돼 다이나마이드에 저장된다.
api-response
{
  "kind": "youtube#videoListResponse",
  "etag": "hIVWKxNM54fdichRnB1jBvlY3Fw",
  "items": [
    {
      "kind": "youtube#video",
      "etag": "dh6a7ZnF-WK1gHH99Bvp3x69R54",
      "id": "et_0xOzrKaE",
      "liveStreamingDetails": {
        "scheduledStartTime": "2020-12-29T11:00:00Z",
        "activeLiveChatId": "Cg0KC2V0XzB4T3pyS2FFKicKGFVDNFlhT3QxeVQtWmV5QjBPbXhIZ29sQRILZXRfMHhPenJLYUU"
      }
    }
  ],
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 1
  }
}
내가 하고 싶은 목적은 여기까지!
끝말
유튜브 데이터API는 클릭할 때마다 분배를 소모하는데, 무료라면 팟캐스트 상한수가 상당히 엄격하다.
공짜 틀quotaExceeded을 넘으면 (=너무 많이 두드려서) 욕을 먹고 당일 팟캐스트를 해도 계속 이 오류가 발생하는데...(0점 재설정)
그 사이 커튼에 데뷔한 신인 VTuber를 찾아내고 싶고, 리액트+레드ux에서 폴더 구성을 어떻게 할지 고민하는 부분도 적고 싶다.

좋은 웹페이지 즐겨찾기