gatsby-source-youtube-v2
A gatsby source plugin for fetching videos from a list of Youtube channels using their channel IDs (and plays nice with Gatsby v2).
Learn more about Gatsby plugins and how to use them here: https://www.gatsbyjs.org/docs/plugins/
Install
npm install --save gatsby-source-youtube-v2
gatsby-config.js
plugins: [
  {
    resolve: `gatsby-source-youtube-v2`,
    options: {
      channelId: ['<< Array of Youtube channelIDs>>', 'UCK8sQmJBp8GCxrOtXWBpyEA', 'UCK8sQmJBp8GCxrOtXWBpyXY'],
      apiKey: '<< Add your Youtube api key here>>',
      maxVideos: 50 // Defaults to 50
    },
  },
  ...
]Examples of how to query:
Get all the videos:
{
  allYoutubeVideo {
    edges {
      node {
        id
        title
        description
        videoId
        publishedAt
        privacyStatus
        channelTitle
      }
    }
  }
}Get videos from a specific channel:
{
  allYoutubeVideo(filter: {channelId: {eq: "UCK8sQmJBp8GCxrOtXWBpyEA"}}) {
    edges {
      node {
        id
        title
        description
        videoId
        publishedAt
        privacyStatus
        channelTitle
      }
    }
  }
}Schema
title
: The title of the Youtube video
description
: The description of the Youtube video
videoId
: The id for the video on Youtube, can be used to make a url to the video or to embed it
publishedAt
: The date the video was published.
privacyStatus
: The privacy status of the video, public, private, or unlisted
thumbnail
: The information about the largest thumbnail available on Youtube. Sub-properties: url, width, height
localThumbnail
: The information about the locally saved thumbnail. Works with gatsby-image
channelId
: The channel id of the Youtube video
channelTitle
: The title of the channel of the Youtube video