YouTube에서 GAS로 동영상 정보 (제목 및 축소판) 얻기

이하 페이지의 전재가 됩니다. 양해 바랍니다.

YouTube에서 동영상 및 미리보기 가져오기 Google Apps Script - Yuto Hongo Portfolio

[한마디로 이런 기사]
  • 직접 운영하는 YouTube 채널의 동영상에 대한 정보를 얻을 수 있습니다!


  • [목차]
    - Google Apps Script와 Google의 서비스군은 궁합 발군!
    - YouTube 정보를 GAS로 가져오기 위한 사전 준비
    - GAS에서 YouTube 동영상 정보를 얻는 방법
    - 획득한 YouTube 동영상 정보를 스프레드시트에 저장

    Google Apps Script와 Google의 서비스군은 궁합 발군!



    Many Google apps, one platform in the cloud

    저작권: Apps Script | Google Developers

    Google Apps Script는 다양한 Google 서비스와 관련된 프로그램을 제공하는 데 유용합니다.

    공식적으로 쓰여진 대로 많이 Google의 서비스가 있습니다만, 그것들을 여러가지 복합적으로 처리할 수 있는 것이군요.

    YouTube 아이콘은 공식 TOP에 게재되지 않지만 물론 GAS에서 정보를 활용할 수 있습니다.

    YouTube 정보를 GAS로 가져오기 위한 사전 준비



    Google Apps Script를 작성하기 전에 다음 설정을 사용해 봅시다.

    Google Apps Script 페이지 상단의 탭 > 리소스 > Google 확장 서비스… > Advanced Google Services YouTube Data API 사용



    GAS에서 YouTube 동영상 정보를 얻는 방법



    동영상 목록 가져오기(Search.list)


    YouTube.Search.list('id,snippet', {
      maxResults: [budget(Integer)], 
      channelId: '[YourChannelID(String)]',
      order: "date",  // 取得順序は、最新動画順にしてある
      type: "video",
      pageToken: '[NextToken(String)]'
    })    
    
  • [budget(Integer)] : 한 번에 몇 개의 동영상 정보를 얻는지
  • [YourChannelID(String)] : 운영중인 채널의 ID
  • [NextToken(String)]:아직 취득할 수 있는 동영상 정보가 있는 경우, 지정하는 것으로 다음의 동영상을 취득할 수 있다

  • 눈치채는 사람도 있을지도 모릅니다만, NextToken이 있다는 것은 단번에 취득할 수 있는 상한이 있다고 하는 것이군요.

    0 이상 50 이하의 값을 지정할 수 있습니다. 기본값은 5입니다.

    저작권: Search: list | YouTube Data API | Google Developers

    그렇기 때문에, 페이징의 요령으로 몇번이나 동영상 정보를 취득할 필요가 있다고 하는 것입니다.

    덧붙여서, 160개 정도 동영상을 업로드하고 있는 분에게 부탁되어 이 방법으로 취득하고 있습니다만, 왠지 64개 정도의 동영상 정보 밖에 취득을 할 수 있지 않습니다. (원인을 모릅니다. 누군가 도와주세요)

    취득한 동영상 정보의 구조



    아래와 같은 동영상 정보가 items 에 배열로서 복수개 들어옵니다.
    {
      "kind": "youtube#video",
      "etag": etag,
      "id": string,
      "snippet": {
        "publishedTime": datetime,
        "channelId": string,
        "title": string,
        "description": string,
        "thumbnails": {
          (key): {
            "url": string,
            "width": unsigned integer,
            "height": unsigned integer
          }
        },
        "channelTitle": string,
        "liveBroadcastContent": string
      }
    

    참고 : Search | YouTube Data API | Google Developers

    실제로 저는 다음과 같이 가공하여 이용하고 있습니다.
    function ParamToVideo_(param,upload){
      this.title = param.snippet.title
      this.slug = param.id
      this.description = param.snippet.description
      this.url = `https://www.youtube.com/watch?v=${param.id}`
      this.thumbnail = param.snippet.thumbnails.high.url
      this.iframe = `https://www.youtube.com/embed/${param.id}`
    }
    

    title이나 description이나 id를 취득하는 것은 물론, iframe용의 URL을 생성하기도 합니다.

    참고 : YouTube 임베디드 플레이어 및 플레이어 매개변수 | YouTube IFrame Player API

    획득한 YouTube 동영상 정보를 스프레드시트에 저장



    Google Apps Script는 처음에 설명한 대로 다양한 Google 서비스와 함께 작동하므로 YouTube 정보를 얻고 Google Spread Sheet에 넣는 것도 쉽습니다.

    그 방법 등은, 이전 기사로 해 준 이하의 내용을 참고에 꼭 실시해 보세요.

    Spreadsheet에서 편하게 하려는 Google Apps Script 소스 코드 템플릿

    [기타]

    속삭이면서 YouTube에서도, 배운 것의 아웃풋을 해 나가는 대처를 해 나가고 싶습니다. 또, 자신이 좋아하는 것의 소개도 실시해 갑니다.

    0에서 배우는 채널( htps //w w. 요츠베. 코 m/짱 l/우 CJD )

    끝까지 읽어 주셔서 감사합니다. 다양한 것을 배우고 싶다고 생각하고 있으므로, 내용이나 소스 코드 등의 어드바이스 받을 수 있으면 다행입니다.

    좋은 웹페이지 즐겨찾기