class_docstr: Youtube handler implementation
docstr: Initialize the Youtube handler.
  Parameters
  ----------
  name : str
      name of a handler instance
docstr_tok: ["Initialize","the","Youtube","handler",".","Parameters","--","--","--","--","--","name",":","str","name","of","a","handler","instance"]
code: def __init__(self, name=None, **kwargs):
      """Initialize the Youtube handler.
      Parameters
      ----------
      name : str
          name of a handler instance
      """
      super().__init__(name)
  
      connection_data = kwargs.get("connection_data", {})
  
      self.parser = parse_sql
      self.connection_data = connection_data
      self.kwargs = kwargs
      self.connection = None
      self.is_connected = False
  
      self.handler_storage = kwargs["handler_storage"]
  
      self.credentials_url = self.connection_data.get(
          "credentials_url", None
      )
      self.credentials_file = self.connection_data.get(
          "credentials_file", None
      )
      if self.connection_data.get("credentials"):
          self.credentials_file = self.connection_data.pop(
              "credentials"
          )
      if not self.credentials_file and not self.credentials_url:
          # try to get from config
          yt_config = Config().get("handlers", {}).get("youtube", {})
          secret_file = yt_config.get("credentials_file")
          secret_url = yt_config.get("credentials_url")
          if secret_file:
              self.credentials_file = secret_file
          elif secret_url:
              self.credentials_url = secret_url
  
      self.youtube_api_token = self.connection_data.get(
          "youtube_api_token", None
      )
  
      self.scopes = self.connection_data.get("scopes", DEFAULT_SCOPES)
  
      youtube_video_comments_data = YoutubeCommentsTable(self)
      self._register_table("comments", youtube_video_comments_data)
  
      youtube_channel_data = YoutubeChannelsTable(self)
      self._register_table("channels", youtube_channel_data)
  
      youtube_video_data = YoutubeVideosTable(self)
      self._register_table("videos", youtube_video_data)
  
file_path: mindsdb/mindsdb/integrations/handlers/youtube_handler/youtube_handler.py
imports: from mindsdb.integrations.handlers.youtube_handler.youtube_tables import YoutubeCommentsTable, YoutubeChannelsTable, YoutubeVideosTable
  from mindsdb.integrations.libs.api_handler import APIHandler
  from mindsdb.integrations.libs.response import HandlerStatusResponse
  from mindsdb.utilities import log
  from mindsdb_sql import parse_sql
  from collections import OrderedDict
  from mindsdb.utilities.config import Config
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from googleapiclient.discovery import build
  from mindsdb.integrations.handlers.utilities.auth_utilities import GoogleOAuth2Manager
label_desc: Use image node_id 1 to create a new YoutubeHandler object from inherited base classes: APIHandler with example: obj = YoutubeHandler(name)