class_docstr: Youtube Video info  by video id Table implementation
class_docstr_tok: ["Youtube","Video","info","by","video","id","Table","implementation"]
code: def get_videos_by_channel_id(self, channel_id):
      video_ids = []
      resource = (
          self.handler.connect()
          .search()
          .list(part="snippet", channelId=channel_id, type="video")
      )
      while resource:
          response = resource.execute()
          for item in response["items"]:
              video_ids.append(item["id"]["videoId"])
          if "nextPageToken" in response:
              resource = (
                  self.handler.connect()
                  .search()
                  .list(
                      part="snippet",
                      channelId=channel_id,
                      type="video",
                      pageToken=response["nextPageToken"],
                  )
              )
          else:
              break
  
      return self.get_videos_by_video_ids(video_ids)
  
imports: from typing import List
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.integrations.utilities.sql_utils import extract_comparison_conditions
  from mindsdb.utilities import log
  from mindsdb_sql.parser import ast
  from mindsdb.integrations.handlers.utilities.query_utilities import SELECTQueryParser, SELECTQueryExecutor, INSERTQueryParser
  import pandas
  import re
  from youtube_transcript_api import YouTubeTranscriptApi
  from youtube_transcript_api.formatters import JSONFormatter
label_desc: Use image node_id 2 for calling the YoutubeVideosTable obj's underlying member method code with example usage: obj.get_videos_by_channel_id(channel_id) and returns: self