React.js Youtube Data API V3 Live Subscriber Count App Full Tutorial 2020

React.js Youtube Data API V3 Live Subscriber Count App Full Tutorial 2020

 

 

 

 

 

import React,{useState} from "react";
import "./styles.css";
import "bootstrap/dist/css/bootstrap.min.css";
import { Button, Form } from "react-bootstrap";

const youtubeChannelId = require('get-youtube-channel-id')

export default function App() {

  const API_KEY = "###yourapikey###"

  const [subscribers,setSubscribers] = useState(null)
  const [views,setViews] = useState(null);
  const [videos,setVideos] = useState(null)

  const [url,setUrl] = useState(null)

  const handleSubmit = async (e) => {

    e.preventDefault()

    const result = await youtubeChannelId(url)
    fetch(`https://www.googleapis.com/youtube/v3/channels?part=statistics&id=${result.id}&key=${API_KEY}`)
    .then((data) => data.json())
    .then((result) => {
      console.log(result)
      setSubscribers(result.items[0].statistics.subscriberCount)
      setViews(result.items[0].statistics.viewCount)
      setVideos(result.items[0].statistics.videoCount)
    })

    

    console.log(result)
    
  }

  

  const handleChange = (e) => {
   
    setUrl(e.target.value)
  }

  return (
    <div className="App">
      <br />
      <br />
      <Form onSubmit={handleSubmit}>
        <Form.Group controlId="channelUrl">
          <Form.Label>Channel URL:</Form.Label>
          <Form.Control type="text" name="url"
          onChange={handleChange} value={url} required placeholder="Enter Channel URL" />
        </Form.Group>
        <Button variant="primary" type="submit">
          Submit
        </Button>
      </Form>
      You have {subscribers} subscribers
      <br/>
      You have {videos} Videos
      <br/>
      You have {views} Views
    </div>
  );
}

 

See also  React Native Tutorial to Save PDF Document to Android/IOS File System and View PDF in PDF Viewer Full Project For Beginners

 

 

 

 

 

 

Leave a Reply